view tests/test-convert-hg-source @ 8819:e93ab347c814

test-convert-cvsnt-mergepoints: ignore differences between CVS 1.11 and 1.12. - factor out cvsci function (similar to other test-convert-cvs* scripts) - add filterpath function (also similar to other scripts) - generally munge the output of CVS - add lots of output to make it easier to follow when things go wrong This doesn't make the test pass reliably under CVS 1.11; it just makes it behave the same as under CVS 1.12, i.e. sometimes it passes and sometimes it fails. Failure is more frequent with faster hardware.
author Greg Ward <greg-hg@gerg.ca>
date Mon, 15 Jun 2009 20:35:19 -0400
parents 8e7130a10f3b
children 314fc589b313
line wrap: on
line source

#!/bin/sh

cat >> $HGRCPATH <<EOF
[extensions]
convert=
[convert]
hg.saverev=False
EOF

hg init orig
cd orig

echo foo > foo
echo bar > bar
hg ci -qAm 'add foo bar' -d '0 0'

echo >> foo
hg ci -m 'change foo' -d '1 0'

hg up -qC 0
hg copy --after --force foo bar
hg copy foo baz
hg ci -m 'make bar and baz copies of foo' -d '2 0'

hg merge
hg ci -m 'merge local copy' -d '3 0'

hg up -C 1
hg merge 2
hg ci -m 'merge remote copy' -d '4 0'

chmod +x baz
hg ci -m 'mark baz executable' -d '5 0'

cd ..
hg convert --datesort orig new 2>&1 | grep -v 'subversion python bindings could not be loaded'
cd new
hg out ../orig
cd ..

echo % init broken repository
hg init broken
cd broken
echo a >> a
echo b >> b
hg ci -qAm init
echo a >> a
echo b >> b
hg copy b c
hg ci -qAm changeall
hg up -qC 0
echo bc >> b
hg ci -m changebagain
HGMERGE=internal:local hg -q merge
hg ci -m merge
hg mv b d
hg ci -m moveb
echo % break it
rm .hg/store/data/b.*
cd ..

hg --config convert.hg.ignoreerrors=True convert broken fixed
hg -R fixed verify
echo '% manifest -r 0'
hg -R fixed manifest -r 0
echo '% manifest -r tip'
hg -R fixed manifest -r tip

true