mercurial/node.py
author mason@suse.com
Fri, 11 Nov 2005 18:20:19 -0800
changeset 1533 3d11f81c9145
parent 1091 d62130f99a73
child 1541 bf4e7ef08741
permissions -rw-r--r--
Reduce string duplication in compression code This cuts down on string copies and allows buffers (instead of strings) to be passed into the compression code
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])