mercurial/node.py
author Eric Hopper <hopper@omnifarious.org>
Mon, 10 Oct 2005 17:20:38 -0700
changeset 1463 26e73acc0cdf
parent 1091 d62130f99a73
child 1541 bf4e7ef08741
permissions -rw-r--r--
Fix to handle case of empty list for roots or heads in nodesbetween.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     1
"""
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     2
node.py - basic nodeid manipulation for mercurial
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     3
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     4
Copyright 2005 Matt Mackall <mpm@selenic.com>
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     5
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     6
This software may be used and distributed according to the terms
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     7
of the GNU General Public License, incorporated herein by reference.
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     8
"""
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
     9
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    10
import sha, binascii
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    11
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    12
nullid = "\0" * 20
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    13
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    14
def hex(node):
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    15
    return binascii.hexlify(node)
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    16
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    17
def bin(node):
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    18
    return binascii.unhexlify(node)
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    19
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    20
def short(node):
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    21
    return hex(node[:6])