##// END OF EJS Templates
addremove: correctly handle intermediate symlinks...
addremove: correctly handle intermediate symlinks This fixes problems mentioned in issue660 comments (unrelated to original issue) where directory was renamed, and symlink was added instead. In such situation addremove wasn't able to correctly detect that old files no longer here, but tried to add symlink (and failed due collision with old files).

File last commit:

r6358:7cb9af02 default
r6651:7f0dd352 default
Show More
test-remove
110 lines | 1.6 KiB | text/plain | TextLexer
mpm@selenic.com
Add a simple remove test
r936 #!/bin/sh
Dirkjan Ochtman
improved semantics for remove (issue438)...
r6346 remove() {
hg rm $@
hg st
Florent Guillaume
test-remove: make it pass on Mac OS X 10.5
r6356 # do not use ls -R, which recurses in .hg subdirs on Mac OS X 10.5
Florent Guillaume
test-remove: make tests really pass...
r6358 find . -name .hg -prune -o -type f -print | sort
Dirkjan Ochtman
improved semantics for remove (issue438)...
r6346 hg up -C
}
mpm@selenic.com
Add a simple remove test
r936 hg init a
cd a
echo a > foo
Dirkjan Ochtman
improved semantics for remove (issue438)...
r6346
echo % file not managed
remove foo
mpm@selenic.com
Add a simple remove test
r936 hg add foo
Dirkjan Ochtman
improved semantics for remove (issue438)...
r6346 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
mpm@selenic.com
Add a simple remove test
r936 rm foo
Dirkjan Ochtman
improved semantics for remove (issue438)...
r6346 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
Vadim Gelfer
make test-remove check some more cases.
r2180 rm foo
Dirkjan Ochtman
improved semantics for remove (issue438)...
r6346 remove -f foo
echo % 20 state added, options -A
echo b > bar
hg add bar
remove -A bar
mpm@selenic.com
Add a simple remove test
r936
Dirkjan Ochtman
improved semantics for remove (issue438)...
r6346 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
Vadim Gelfer
remove: rewrite to be ~400x faster, bit more friendly...
r2309
Dirkjan Ochtman
improved semantics for remove (issue438)...
r6346 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