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

r27210:9b86d298 default
r27920:da5f2336 stable
Show More
dockerdeb
35 lines | 1.1 KiB | text/plain | TextLexer
Augie Fackler
dockerdeb: rules to build a debian package using docker...
r24973 #!/bin/bash -eu
. $(dirname $0)/dockerlib.sh
. $(dirname $0)/packagelib.sh
BUILDDIR=$(dirname $0)
export ROOTDIR=$(cd $BUILDDIR/..; pwd)
checkdocker
av6
builddeb: add --distid option to specify Distributor ID...
r27210 DISTID="$1"
CODENAME="$2"
PLATFORM="$1-$2"
Augie Fackler
dockerdeb: rules to build a debian package using docker...
r24973 shift # extra params are passed to build process
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 OUTPUTDIR=${OUTPUTDIR:=$ROOTDIR/packages/$PLATFORM}
Augie Fackler
dockerdeb: rules to build a debian package using docker...
r24973 initcontainer $PLATFORM
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 # debuild only appears to be able to save built debs etc to .., so we
# have to share the .. of the current directory with the docker
# container and hope it's writable. Whee.
dn=$(basename $PWD)
Augie Fackler
dockerdeb: rules to build a debian package using docker...
r24973
if [ $(uname) = "Darwin" ] ; then
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 $DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \
sh -c "cd /mnt/$dn && make clean && make local"
Augie Fackler
dockerdeb: rules to build a debian package using docker...
r24973 fi
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 $DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \
av6
builddeb: add --distid option to specify Distributor ID...
r27210 sh -c "cd /mnt/$dn && DEB_BUILD_OPTIONS='${DEB_BUILD_OPTIONS:=}' contrib/builddeb --build --distid $DISTID --codename $CODENAME"
contrib/builddeb --cleanup --distid $DISTID --codename $CODENAME
Augie Fackler
dockerdeb: rules to build a debian package using docker...
r24973 if [ $(uname) = "Darwin" ] ; then
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 $DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \
sh -c "cd /mnt/$dn && make clean"
Augie Fackler
dockerdeb: rules to build a debian package using docker...
r24973 fi