Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-bundle-r @ 5338:f87685355c9c
revlog: fix revlogio.packentry corner case
We want to store version information about the revlog in the first
entry of its index. The code in packentry was using some heuristics
to detect whether this was the first entry, but these heuristics could
fail in some cases (e.g. rev 0 was empty; rev 1 descends directly from
the nullid and is stored as a delta).
We now give the revision number to packentry to avoid heuristics.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Wed, 26 Sep 2007 01:58:45 -0300 |
parents | c0b449154a90 |
children |
line wrap: on
line source
#!/bin/sh hg init test cd test cat >>afile <<EOF 0 EOF hg add afile hg commit -m "0.0" -d "1000000 0" cat >>afile <<EOF 1 EOF hg commit -m "0.1" -d "1000000 0" cat >>afile <<EOF 2 EOF hg commit -m "0.2" -d "1000000 0" cat >>afile <<EOF 3 EOF hg commit -m "0.3" -d "1000000 0" hg update -C 0 cat >>afile <<EOF 1 EOF hg commit -m "1.1" -d "1000000 0" cat >>afile <<EOF 2 EOF hg commit -m "1.2" -d "1000000 0" cat >fred <<EOF a line EOF cat >>afile <<EOF 3 EOF hg add fred hg commit -m "1.3" -d "1000000 0" hg mv afile adifferentfile hg commit -m "1.3m" -d "1000000 0" hg update -C 3 hg mv afile anotherfile hg commit -m "0.3m" -d "1000000 0" hg debugindex .hg/store/data/afile.i hg debugindex .hg/store/data/adifferentfile.i hg debugindex .hg/store/data/anotherfile.i hg debugindex .hg/store/data/fred.i hg debugindex .hg/store/00manifest.i hg verify cd .. for i in 0 1 2 3 4 5 6 7 8; do mkdir test-"$i" hg --cwd test-"$i" init hg -R test bundle -r "$i" test-"$i".hg test-"$i" cd test-"$i" hg unbundle ../test-"$i".hg hg verify hg tip -q cd .. done cd test-8 hg pull ../test-7 hg verify hg rollback cd .. echo % should fail hg -R test bundle --base 2 -r tip test-bundle-branch1.hg test-3 hg -R test bundle -r tip test-bundle-branch1.hg hg -R test bundle --base 2 -r tip test-bundle-branch1.hg hg -R test bundle --base 2 -r 7 test-bundle-branch2.hg hg -R test bundle --base 2 test-bundle-all.hg hg -R test bundle --base 3 -r tip test-bundle-should-fail.hg # issue76 msg2163 hg -R test bundle --base 3 -r 3 -r 3 test-bundle-cset-3.hg hg clone test-2 test-9 cd test-9 echo % 2 hg tip -q hg unbundle ../test-bundle-should-fail.hg echo % 2 hg tip -q hg unbundle ../test-bundle-all.hg echo % 8 hg tip -q hg verify hg rollback echo % 2 hg tip -q hg unbundle ../test-bundle-branch1.hg echo % 4 hg tip -q hg verify hg rollback hg unbundle ../test-bundle-branch2.hg echo % 6 hg tip -q hg verify cd ../test hg merge 7 hg ci -m merge -d "1000000 0" cd .. hg -R test bundle --base 2 test-bundle-head.hg hg clone test-2 test-10 cd test-10 hg unbundle ../test-bundle-head.hg echo % 9 hg tip -q hg verify