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
cat >> $HGRCPATH <<EOF
[alias]
myinit = init
cleanstatus = status -c
unknown = bargle
ambiguous = s
recursive = recursive
nodefinition =
mylog = log
lognull = log -r null
shortlog = log --template '{rev} {node|short} | {date|isodate}\n'
dln = lognull --debug
nousage = rollback
put = export -r 0 -o "\$FOO/%R.diff"
echo = !echo
[defaults]
mylog = -q
lognull = -q
log = -v
EOF
echo '% basic'
hg myinit alias
echo '% unknown'
hg unknown
hg help unknown
echo '% ambiguous'
hg ambiguous
hg help ambiguous
echo '% recursive'
hg recursive
hg help recursive
echo '% no definition'
hg nodef
hg help nodef
cd alias
echo '% no usage'
hg nousage
echo foo > foo
hg ci -Amfoo
echo '% with opts'
hg cleanst
echo '% with opts and whitespace'
hg shortlog
echo '% interaction with defaults'
hg mylog
hg lognull
echo '% properly recursive'
hg dln
echo '% path expanding'
FOO=`pwd` hg put
cat 0.diff
echo '% shell aliases'
hg echo foo