tests/test-convert-hg-sink
author Thomas Arendsen Hein <thomas@intevation.de>
Fri, 12 Feb 2010 15:46:48 +0100
changeset 10421 452b6195e94c
parent 8693 68e0a55eee6e
permissions -rwxr-xr-x
ui: look before you leap on sys.stderr.closed (and look nicer) f83291e5643e introduced a fix if sys.stdout.closed does not exist. This change uses a getattr with default instead of hasattr (which just calls getattr) and accessing the attribute. Additionally it applies the same fix for sys.stderr.closed as this is not available in the bpython shell (reported by Roger Gammans).

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

hg rm foo
hg ci -m 'remove foo'

mkdir foo
echo file > foo/file
hg ci -qAm 'add foo/file'

hg tag some-tag

hg log
cd ..

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

echo '% dirstate should be empty:'
hg debugstate
hg parents -q

hg up -C
hg copy bar baz
echo '% put something in the dirstate:'
hg debugstate > debugstate
grep baz debugstate

echo '% add a new revision in the original repo'
cd ../orig
echo baz > baz
hg ci -qAm 'add baz'

cd ..
hg convert orig new 2>&1 | grep -v 'subversion python bindings could not be loaded'
cd new
hg out ../orig
echo '% dirstate should be the same (no output below):'
hg debugstate > new-debugstate
diff debugstate new-debugstate

echo '% no copies'
hg up -C
hg debugrename baz
cd ..

echo '% test tag rewriting'
cat > filemap <<EOF
exclude foo
EOF
hg convert --filemap filemap orig new-filemap 2>&1 | grep -v 'subversion python bindings could not be loaded'
cd new-filemap
hg tags
cd ..