view tests/test-convert-hg-sink @ 5534:61c230f81068

mq: avoid qnew committing everything on invalid paths (issue 803) If paths are supplied but resolve to nothing, localrepo.commit() is called with an empty set and commits the whole dirstate. Avoid this by passing the match function to commit.
author Patrick Mezard <pmezard@gmail.com>
date Tue, 20 Nov 2007 14:31:58 +0100
parents 2dbd750b3ddd
children 61fdf2558c0a
line wrap: on
line source

#!/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