tests/test-changelog-exec
author Nicolas Dumazet <nicdumz.commits@gmail.com>
Sat, 03 Jul 2010 18:11:15 +0900
changeset 11608 183e63112698
parent 8167 6c82beaaa11a
permissions -rwxr-xr-x
log: remove increasing windows usage in fastpath The purpose of increasing windows is to allow backwards iteration on the filelog at a reasonable cost. But is it needed? - if follow is False, we have no reason to iterate backwards. We basically just want to walk the complete filelog and yield all revisions within the revision range. We can do this forward or backwards, as it only reads the index. - when follow is True, we need to examine the contents of the filelog, and to do this efficiently we need to read the filelog forward. And on the other hand, to track ancestors and copies, we need to process revisions backwards. But is it necessary to use increasing windows for this? We can iterate over the complete filelog forward, stack the revisions, and read the reversed(pile), it does the same thing with a more readable code.

#!/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'

echo bar > bar
chmod +x bar
hg ci -qAm 'add bar'
echo '% manifest of p2:'
hg manifest
echo

hg up -qC 0
echo >> foo
hg ci -m 'change foo'
echo '% manifest of p1:'
hg manifest

hg merge
hg ci -m 'merge'

echo '% this should not mention bar:'
hg tip -v

hg debugindex .hg/store/data/bar.i