view tests/test-copy2 @ 6543:a6e2e60b34d0

convert: handle past or foreign partial svn copies Subversion allows revisions to be composed of subparts coming from revisions before the parent or from other part of the repository. There is no simple representation for these now, keep the changes but do not track their origins.
author Patrick Mezard <pmezard@gmail.com>
date Mon, 14 Apr 2008 22:31:34 +0200
parents 44e17f5029d0
children 6c82beaaa11a
line wrap: on
line source

#!/bin/sh

hg init
echo foo > foo
echo "# should fail - foo is not managed"
hg mv foo bar
hg st -A
hg add foo
echo "# dry-run; print a warning that this is not a real copy; foo is added"
hg mv --dry-run foo bar
hg st -A
echo "# should print a warning that this is not a real copy; bar is added"
hg mv foo bar
hg st -A
echo "# should print a warning that this is not a real copy; foo is added"
hg cp bar foo
hg rm -f bar
rm bar
hg st -A
hg commit -m1 -d"0 0"

echo "# dry-run; should show that foo is clean"
hg copy --dry-run foo bar
hg st -A
echo "# should show copy"
hg copy foo bar
hg st -C

echo "# shouldn't show copy"
hg commit -m2 -d"0 0"
hg st -C

echo "# should match"
hg debugindex .hg/store/data/foo.i
hg debugrename bar

echo bleah > foo
echo quux > bar
hg commit -m3 -d"0 0"

echo "# should not be renamed"
hg debugrename bar

hg copy -f foo bar
echo "# should show copy"
hg st -C
hg commit -m3 -d"0 0"

echo "# should show no parents for tip"
hg debugindex .hg/store/data/bar.i
echo "# should match"
hg debugindex .hg/store/data/foo.i
hg debugrename bar

echo "# should show no copies"
hg st -C

echo "# copy --after on an added file"
cp bar baz
hg add baz
hg cp -A bar baz
hg st -C

echo "# foo was clean:"
hg st -AC foo
echo "# but it's considered modified after a copy --after --force"
hg copy -Af bar foo
hg st -AC foo

exit 0