view tests/test-copy2 @ 5457:7372b6bbc5e6

osutil: improve portability - manually inline mode_to_kind - remove unused alloca include - remove fstatat and associated bits It's not obvious that there's an advantage to using fstatat in terms of performance. The race-avoidance properties of fstatat aren't terribly useful to us either. So best to avoid it until we figure out how to use it portably.
author Matt Mackall <mpm@selenic.com>
date Thu, 11 Oct 2007 17:46:06 -0500
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