Mercurial > hg
annotate mercurial/node.py @ 2612:ffb895f16925
add support for streaming clone.
existing clone code uses pull to get changes from remote repo. is very
slow, uses lots of memory and cpu.
new clone code has server write file data straight to client, client
writes file data straight to disk. memory and cpu used are very low,
clone is much faster over lan.
new client can still clone with pull, can still clone from older servers.
new server can still serve older clients.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Fri, 14 Jul 2006 11:17:22 -0700 |
parents | fe1689273f84 |
children | 345bac2bc4ec |
rev | line source |
---|---|
1089 | 1 """ |
2 node.py - basic nodeid manipulation for mercurial | |
3 | |
4 Copyright 2005 Matt Mackall <mpm@selenic.com> | |
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 | |
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 | 12 |
13 nullid = "\0" * 20 | |
14 | |
15 def hex(node): | |
16 return binascii.hexlify(node) | |
17 | |
18 def bin(node): | |
19 return binascii.unhexlify(node) | |
20 | |
21 def short(node): | |
22 return hex(node[:6]) |