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

r6127:25c372e8 default
r6651:7f0dd352 default
Show More
test-bheads
113 lines | 1.4 KiB | text/plain | TextLexer
#!/bin/sh
heads()
{
hg heads --template '#rev#: #desc|firstline|strip#\n' "$@"
}
hg init a
cd a
echo 'root' >root
hg add root
hg commit -m "Adding root node"
heads
echo '-------'
heads .
echo '======='
echo 'a' >a
hg add a
hg branch a
hg commit -m "Adding a branch"
heads
echo '-------'
heads .
echo '======='
hg update -C 0
echo 'b' >b
hg add b
hg branch b
hg commit -m "Adding b branch"
heads
echo '-------'
heads .
echo '======='
echo 'bh1' >bh1
hg add bh1
hg commit -m "Adding b branch head 1"
heads
echo '-------'
heads .
echo '======='
hg update -C 2
echo 'bh2' >bh2
hg add bh2
hg commit -m "Adding b branch head 2"
heads
echo '-------'
heads .
echo '======='
hg update -C 2
echo 'bh3' >bh3
hg add bh3
hg commit -m "Adding b branch head 3"
heads
echo '-------'
heads .
echo '======='
hg merge 4
hg commit -m "Merging b branch head 2 and b branch head 3"
heads
echo '-------'
heads .
echo '======='
echo 'c' >c
hg add c
hg branch c
hg commit -m "Adding c branch"
heads
echo '-------'
heads .
echo '======='
heads -r 3 .
echo $?
echo '-------'
heads -r 2 .
echo $?
echo '-------'
hg update -C 4
echo $?
echo '-------'
heads -r 3 .
echo $?
echo '-------'
heads -r 2 .
echo $?
echo '-------'
heads -r 7 .
echo $?
echo '======='
for i in 0 1 2 3 4 5 6 7; do
hg update -C "$i"
heads
echo '-------'
heads .
echo '-------'
done
echo '======='
for i in a b c z; do
heads "$i"
echo '-------'
done
echo '======='
heads 0 1 2 3 4 5 6 7