##// END OF EJS Templates
Move opener to utils...
Move opener to utils - move the opener code down to util - add docstring - change commands.py users to simply use file instead

File last commit:

r1089:142b5d5e default
r1090:1bca39b8 default
Show More
node.py
36 lines | 814 B | text/x-python | PythonLexer
"""
node.py - basic nodeid manipulation for mercurial
Copyright 2005 Matt Mackall <mpm@selenic.com>
This software may be used and distributed according to the terms
of the GNU General Public License, incorporated herein by reference.
"""
import sha, binascii
nullid = "\0" * 20
def hex(node):
return binascii.hexlify(node)
def bin(node):
return binascii.unhexlify(node)
def short(node):
return hex(node[:6])
def hash(text, p1, p2):
"""generate a hash from the given text and its parent hashes
This hash combines both the current file contents and its history
in a manner that makes it easy to distinguish nodes with the same
content in the revision graph.
"""
l = [p1, p2]
l.sort()
s = sha.new(l[0])
s.update(l[1])
s.update(text)
return s.digest()