Mercurial > hg > mercurial-crew-with-dirclash
view comparison.txt @ 1981:736b6c96bbbc
make incoming work via ssh (issue139); move chunk code into separate module.
Incoming ssh needs to detect the end of the changegroup, otherwise it would
block trying to read from the ssh pipe. This is done by parsing the
changegroup chunks.
bundlerepo.getchunk() already is identical to
localrepo.addchangegroup.getchunk(), which is followed by getgroup which
looks much like what you can re-use in bundlerepository.__init__() and in
write_bundle(). bundlerevlog.__init__.genchunk() looks very similar, too,
as do some while loops in localrepo.py.
Applied patch from Benoit Boissinot to move duplicate/related code
to mercurial/changegroup.py and use this to fix incoming ssh.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Tue, 21 Mar 2006 11:47:21 +0100 |
parents | 2073e5a71008 |
children |
line wrap: on
line source
Mercurial git BK (*) storage revlog delta compressed revisions SCCS weave storage naming by filename by revision hash by filename merge file DAGs changeset DAG file DAGs? consistency SHA1 SHA1 CRC signable? yes yes no retrieve file tip O(1) O(1) O(revs) add rev O(1) O(1) O(revs) find prev file rev O(1) O(changesets) O(revs) annotate file O(revs) O(changesets) O(revs) find file changeset O(1) O(changesets) ? checkout O(files) O(files) O(revs)? commit O(changes) O(changes) ? 6 patches/s 6 patches/s slow diff working dir O(changes) O(changes) ? < 1s < 1s ? tree diff revs O(changes) O(changes) ? < 1s < 1s ? hardlink clone O(files) O(revisions) O(files) find remote csets O(log new) rsync: O(revisions) ? git-http: O(changesets) pull remote csets O(patch) O(modified files) O(patch) repo growth O(patch) O(revisions) O(patch) kernel history 300M 3.5G? 250M? lines of code 2500 6500 (+ cogito) ?? * I've never used BK so this is just guesses