tests/test-convert-hg-startrev
author Nicolas Dumazet <nicdumz.commits@gmail.com>
Fri, 11 Dec 2009 15:58:09 +0900
changeset 10090 a3ad96ead8f0
parent 8523 5b7da468531b
child 10119 bb5ea66789e3
permissions -rwxr-xr-x
inotify: do not rely on stat(.hg/dirstate) to invalidate our dirstate stat() is not reliable when several events happen quickly. Which means that if two hg actions occur in the same second, stat() result will not reflect the second change. And only _one_ invalidate() call was done. Also ignore the events that occur when wlock is held, since wlock release will trigger a full rescan anyway. Fixes 17 run-tests.py --inotify tests.

#!/bin/sh

echo '[extensions]' >> $HGRCPATH
echo 'hgext.graphlog =' >> $HGRCPATH
echo 'hgext.convert =' >> $HGRCPATH

glog()
{
    hg -R "$1" glog --template '{rev} "{desc}" files: {files}\n'
}

hg init source
cd source

echo a > a
echo b > b
hg ci -d '0 0' -qAm '0: add a b'
echo c > c
hg ci -d '1 0' -qAm '1: add c'
hg copy a e
echo b >> b
hg ci -d '2 0' -qAm '2: copy e from a, change b'
hg up -C 0
echo a >> a
hg ci -d '3 0' -qAm '3: change a'
hg merge
hg copy b d
hg ci -d '4 0' -qAm '4: merge 2 and 3, copy d from b'
echo a >> a
hg ci -d '5 0' -qAm '5: change a'
cd ..

echo % convert from null revision
hg convert --config convert.hg.startrev=null source empty
glog empty

echo % convert from zero revision
hg convert --config convert.hg.startrev=0 source full
glog full

echo % convert from merge parent
hg convert --config convert.hg.startrev=1 source conv1
glog conv1
cd conv1
echo % check copy preservation
hg log --follow --copies e
echo % check copy removal on missing parent
hg log --follow --copies d
hg cat -r tip a b
hg -q verify
cd ..

echo % convert from merge
hg convert --config convert.hg.startrev=4 source conv4
glog conv4
cd conv4
hg up -C
hg cat -r tip a b
hg -q verify
cd ..