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

r6299:653ddd1d default
r6651:7f0dd352 default
Show More
test-merge-remove
43 lines | 586 B | text/plain | TextLexer
#!/bin/sh
hg init repo
cd repo
echo foo > foo
echo bar > bar
hg ci -qAm 'add foo bar'
echo foo2 >> foo
echo bleh > bar
hg ci -m 'change foo bar'
hg up -qC 0
hg mv foo foo1
echo foo1 > foo1
hg cat foo >> foo1
hg ci -m 'mv foo foo1'
hg merge
hg debugstate --nodates
hg st -q
echo '% removing foo1 and bar'
cp foo1 F
cp bar B
hg rm -f foo1 bar
hg debugstate --nodates
hg st -qC
echo '% readding foo1 and bar'
cp F foo1
cp B bar
hg add -v foo1 bar
hg debugstate --nodates
hg st -qC
echo '% reverting foo1 and bar'
hg revert -vr . foo1 bar
hg debugstate --nodates
hg st -qC
hg diff