mercurial/node.py
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Wed, 11 Jul 2007 17:40:41 -0300
changeset 4859 41ad4105dde9
parent 3886 abaee83ce0a6
child 4995 e45fc5d03798
permissions -rw-r--r--
Add symlink method to util.opener. Differences from os.symlink: - the symlink name is relative to the opener base directory - if a file with that name already exists, it's removed - if necessary, parent directories are created - if the system (OS or filesystem) doesn't support symlinks, a regular file is created. Its contents are the symlink target.
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
2858
345bac2bc4ec update copyrights.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2470
diff changeset
     4
Copyright 2005, 2006 Matt Mackall <mpm@selenic.com>
1089
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
3886
abaee83ce0a6 Replace demandload with new demandimport
Matt Mackall <mpm@selenic.com>
parents: 3578
diff changeset
    10
import binascii
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    11
3578
3b4e00cba57a Define and use nullrev (revision of nullid) instead of -1.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 2858
diff changeset
    12
nullrev = -1
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    13
nullid = "\0" * 20
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    14
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    15
def hex(node):
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    16
    return binascii.hexlify(node)
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    17
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    18
def bin(node):
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    19
    return binascii.unhexlify(node)
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    20
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    21
def short(node):
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
    22
    return hex(node[:6])