mercurial/node.py
author mpm@selenic.com
Sat, 27 Aug 2005 22:04:17 -0700
changeset 1117 30ab5b8ee8ec
parent 1091 d62130f99a73
child 1541 bf4e7ef08741
permissions -rw-r--r--
fix some rename/copy bugs - delete copy information when we update dirstate hg was keeping the copy state and marking things as copied on multiple commits - files that are renamed should have no parents if you do a rename/copy to an existing file, it should not be marked as descending from its previous revisions. - remove spurious print from filelog.renamed - add some more copy tests
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])