tests/test-alias
author Nicolas Dumazet <nicdumz.commits@gmail.com>
Sat, 03 Jul 2010 18:11:15 +0900
changeset 11608 183e63112698
parent 11524 24965bb270b7
child 11681 c5e555e064d0
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

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