annotate mercurial/node.py @ 1410:17703aa4491e

hgweb: shorten all the URLs in the standard templates A URL like this: http://www.selenic.com/hg/?cmd=changeset;node=5010207c35273ac1331cae44c253dd41fa07cb7f is now presented as: http://www.selenic.com/hg/?cs=5010207c352 (though the old style still works, of course)
author Matt Mackall <mpm@selenic.com>
date Tue, 18 Oct 2005 23:08:35 -0700
parents d62130f99a73
children bf4e7ef08741
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
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])