annotate mercurial/node.py @ 2569:2264b2b077a1

run-tests.py: make tests use same python interpreter as test harness. this is wanted because some tests run python interpreter directly. must use same python interpreter in tests as in main harness or problems will happen because of e.g. different python abi if run-tests.py run with python 2.5 but system python is 2.4. fix is to see if system python is used and is named python. if no, put symlink called python at front of shell search path.
author Vadim Gelfer <vadim.gelfer@gmail.com>
date Thu, 06 Jul 2006 10:09:24 -0700
parents fe1689273f84
children 345bac2bc4ec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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
2470
fe1689273f84 use demandload more.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1541
diff changeset
10 from demandload import demandload
fe1689273f84 use demandload more.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1541
diff changeset
11 demandload(globals(), "binascii")
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents:
diff changeset
12
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])