##// END OF EJS Templates
changegroup: cg3 has two empty groups *after* manifests...
changegroup: cg3 has two empty groups *after* manifests changegroup.getchunks() determines the end of the stream by looking for an empty chunk group (two consecutive empty chunks). It ignores empty groups in the first two groups. Changegroup 3 introduced an empty chunk between the manifests and the files, which confuses getchunks(). Since it comes after the first two, getchunks() will stop there. Fix by rewriting getchunks so it first counts two groups (empty or not) and then keeps antostarts counting empty groups. With this counting, changegroup 1 and 2 have exactly one empty group after the first two groups, while changegroup 3 has two (one for directories and one for files). It's a little hard to test this at this point, but I have verified that this patch fixes narrowhg (which was broken before this patch). Also, future patches will fix "hg strip" with treemanifests, and once that's done, getchunks() will be tested through tests of "hg strip".

File last commit:

r26148:7f49efca default
r27920:da5f2336 stable
Show More
control
47 lines | 1.6 KiB | text/plain | DebianControlLexer
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 Source: mercurial
Augie Fackler
builddeb: new script for building a deb package...
r24971 Section: vcs
Priority: optional
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 Maintainer: Mercurial Developers <mercurial-devel@selenic.com>
Build-Depends:
debhelper (>= 7),
dh-python,
python-all
Standards-Version: 3.9.4
X-Python-Version: >= 2.6
Package: mercurial
Depends:
python,
${shlibs:Depends},
${misc:Depends},
${python:Depends},
mercurial-common (= ${source:Version})
Architecture: any
Description: fast, easy to use, distributed revision control tool.
Mercurial is a fast, lightweight Source Control Management system designed
for efficient handling of very large distributed projects.
.
Its features include:
* O(1) delta-compressed file storage and retrieval scheme
* Complete cross-indexing of files and changesets for efficient exploration
of project history
* Robust SHA1-based integrity checking and append-only storage model
* Decentralized development model with arbitrary merging between trees
* Easy-to-use command-line interface
* Integrated stand-alone web interface
* Small Python codebase
Package: mercurial-common
Augie Fackler
builddeb: new script for building a deb package...
r24971 Architecture: all
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 Depends:
${misc:Depends},
${python:Depends},
Recommends: mercurial (= ${source:Version}), ca-certificates
Breaks: mercurial (<< ${source:Version})
Replaces: mercurial (<< 2.6.3)
Description: easy-to-use, scalable distributed version control system (common files)
Mercurial is a fast, lightweight Source Control Management system designed
for efficient handling of very large distributed projects.
.
This package contains the architecture independent components of Mercurial,
and is generally useless without the mercurial package.