Mercurial > hg > mercurial-crew-with-dirclash
annotate mercurial/node.py @ 5338:f87685355c9c
revlog: fix revlogio.packentry corner case
We want to store version information about the revlog in the first
entry of its index. The code in packentry was using some heuristics
to detect whether this was the first entry, but these heuristics could
fail in some cases (e.g. rev 0 was empty; rev 1 descends directly from
the nullid and is stored as a delta).
We now give the revision number to packentry to avoid heuristics.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Wed, 26 Sep 2007 01:58:45 -0300 |
parents | e45fc5d03798 |
children |
rev | line source |
---|---|
1089 | 1 """ |
2 node.py - basic nodeid manipulation for mercurial | |
3 | |
2858 | 4 Copyright 2005, 2006 Matt Mackall <mpm@selenic.com> |
1089 | 5 |
6 This software may be used and distributed according to the terms | |
7 of the GNU General Public License, incorporated herein by reference. | |
8 """ | |
9 | |
3886
abaee83ce0a6
Replace demandload with new demandimport
Matt Mackall <mpm@selenic.com>
parents:
3578
diff
changeset
|
10 import binascii |
1089 | 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 | 13 nullid = "\0" * 20 |
14 | |
4995
e45fc5d03798
manifest: speed up creation of the manifestdict
Matt Mackall <mpm@selenic.com>
parents:
3886
diff
changeset
|
15 # This ugly style has a noticeable effect in manifest parsing |
e45fc5d03798
manifest: speed up creation of the manifestdict
Matt Mackall <mpm@selenic.com>
parents:
3886
diff
changeset
|
16 hex = binascii.hexlify |
e45fc5d03798
manifest: speed up creation of the manifestdict
Matt Mackall <mpm@selenic.com>
parents:
3886
diff
changeset
|
17 bin = binascii.unhexlify |
1089 | 18 |
19 def short(node): | |
20 return hex(node[:6]) |