diff -r 351da911f739 -r 8e3b651382f5 tests/test-remove --- a/tests/test-remove Fri Mar 21 17:22:47 2008 -0500 +++ b/tests/test-remove Sat Mar 22 10:07:49 2008 +0100 @@ -1,45 +1,109 @@ #!/bin/sh +remove() { + hg rm $@ + hg st + ls -R + hg up -C +} + hg init a cd a echo a > foo -hg rm foo + +echo % file not managed +remove foo + hg add foo -hg commit -m 1 -d "1000000 0" -hg remove +hg commit -m1 + +# the table cases + +echo % 00 state added, options none +echo b > bar +hg add bar +remove bar + +echo % 01 state clean, options none +remove foo + +echo % 02 state modified, options none +echo b >> foo +remove foo + +echo % 03 state missing, options none rm foo -hg remove foo -hg revert --all +remove foo + +echo % 10 state added, options -f +echo b > bar +hg add bar +remove -f bar +rm bar + +echo % 11 state clean, options -f +remove -f foo + +echo % 12 state modified, options -f +echo b >> foo +remove -f foo + +echo % 13 state missing, options -f rm foo -hg remove --after -hg commit -m 2 -d "1000000 0" -hg export --nodates 0 -hg export --nodates 1 -hg log -p -r 0 -hg log -p -r 1 +remove -f foo + +echo % 20 state added, options -A +echo b > bar +hg add bar +remove -A bar -echo a > a -hg add a -hg rm a -hg rm -f a -echo b > b -mkdir c -echo d > c/d -hg ci -A -m 3 -d "1000001 0" -echo c >> b -hg rm b -hg rm -f b -hg rm -A c/d -hg st -cat c/d -hg revert c -hg rm -A -hg st -hg rm -A c -hg st -rm c/d -hg rm -A -hg st +echo % 21 state clean, options -A +remove -A foo + +echo % 22 state modified, options -A +echo b >> foo +remove -A foo + +echo % 23 state missing, options -A +rm foo +remove -A foo + +echo % 30 state added, options -Af +echo b > bar +hg add bar +remove -Af bar +rm bar + +echo % 31 state clean, options -Af +remove -Af foo + +echo % 32 state modified, options -Af +echo b >> foo +remove -Af foo -cd .. -hg clone a b +echo % 33 state missing, options -Af +rm foo +remove -Af foo + +# test some directory stuff + +mkdir test +echo a > test/foo +echo b > test/bar +hg ci -Am2 + +echo % dir, options none +rm test/bar +remove test + +echo % dir, options -f +rm test/bar +remove -f test + +echo % dir, options -A +rm test/bar +remove -A test + +echo % dir, options -Af +rm test/bar +remove -Af test