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.
#!/bin/sh
# b51a8138292a introduced a regression where we would mention in the
# changelog executable files added by the second parent of a merge.
# Test that that doesn't happen anymore
"$TESTDIR/hghave" execbit || exit 80
hg init repo
cd repo
echo foo > foo
hg ci -qAm 'add foo' -d '0 0'
echo bar > bar
chmod +x bar
hg ci -qAm 'add bar' -d '0 0'
echo '% manifest of p2:'
hg manifest
echo
hg up -qC 0
echo >> foo
hg ci -m 'change foo' -d '0 0'
echo '% manifest of p1:'
hg manifest
hg merge
hg ci -m 'merge' -d '0 0'
echo '% this should not mention bar:'
hg tip -v
hg debugindex .hg/store/data/bar.i