##// 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:

r26731:0c42b6bb default
r27920:da5f2336 stable
Show More
rules
36 lines | 1.4 KiB | text/plain | TextLexer
#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1
CPUS=$(shell cat /proc/cpuinfo | grep -E ^processor | wc -l)
%:
dh $@ --with python2
override_dh_auto_test:
http_proxy='' dh_auto_test -- TESTFLAGS="-j$(CPUS)"
override_dh_python2:
dh_python2
find debian/mercurial/usr/share -type d -empty -delete
override_dh_install:
python$(PYVERS) setup.py install --root $(CURDIR)/debian/mercurial --install-layout=deb
# remove arch-independent python stuff
find $(CURDIR)/debian/mercurial/usr/lib \
! -name '*.so' ! -type d -delete , \
-type d -empty -delete
python$(PYVERS) setup.py install --root $(CURDIR)/debian/mercurial-common --install-layout=deb
make install-doc PREFIX=$(CURDIR)/debian/mercurial-common/usr
# remove arch-dependent python stuff
find $(CURDIR)/debian/mercurial-common/usr/lib \
-name '*.so' ! -type d -delete , \
-type d -empty -delete
cp contrib/hg-ssh $(CURDIR)/debian/mercurial-common/usr/bin
mkdir -p $(CURDIR)/debian/mercurial-common/usr/share/mercurial
cp contrib/hgk $(CURDIR)/debian/mercurial-common/usr/share/mercurial
mkdir -p $(CURDIR)/debian/mercurial-common/etc/mercurial/hgrc.d/
cp contrib/debian/*.rc $(CURDIR)/debian/mercurial-common/etc/mercurial/hgrc.d/
mkdir -p $(CURDIR)/debian/mercurial-common/usr/share/bash-completion/completions
cp contrib/bash_completion $(CURDIR)/debian/mercurial-common/usr/share/bash-completion/completions/hg
rm $(CURDIR)/debian/mercurial-common/usr/bin/hg