Mercurial > hg > mercurial-crew-with-dirclash
annotate mercurial/node.py @ 5369:7530334bf301
revlog: generate trivial deltas against null revision
To avoid extra memory usage and performance issues with large files,
generate a trivial delta header for deltas against the null revision
rather than calling the usual delta generator.
We append the delta header to meta rather than prepending it to data
to avoid a large allocate and copy.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 03 Oct 2007 17:17:27 -0500 |
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]) |