tests/test-convert-hg-sink
author Matt Mackall <mpm@selenic.com>
Wed, 03 Oct 2007 17:17:28 -0500
changeset 5368 61462e7d62ed
parent 5279 2dbd750b3ddd
child 5556 61fdf2558c0a
permissions -rwxr-xr-x
changegroup: avoid large copies - handle chunk headers separately rather than prepending them to (potentially large) chunks - break large chunks into 1M pieces for compression - don't prepend file metadata onto (potentially large) file data

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "hgext.convert=" >> $HGRCPATH

hg init orig
cd orig
echo foo > foo
echo bar > bar
hg ci -qAm 'add foo and bar' -d '0 0'

hg rm foo
hg ci -m 'remove foo' -d '0 0'

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

hg tag -d '0 0' 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