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

r6210:942287cb default
r6651:7f0dd352 default
Show More
test-qrecord
100 lines | 1.2 KiB | text/plain | TextLexer
#!/bin/sh
echo "[ui]" >> $HGRCPATH
echo "interactive=true" >> $HGRCPATH
echo "[extensions]" >> $HGRCPATH
echo "record=" >> $HGRCPATH
echo "% help (no mq, so no qrecord)"
hg help qrecord
echo "mq=" >> $HGRCPATH
echo "% help (mq present)"
hg help qrecord
hg init a
cd a
echo % base commit
cat > 1.txt <<EOF
1
2
3
4
5
EOF
cat > 2.txt <<EOF
a
b
c
d
e
f
EOF
mkdir dir
cat > dir/a.txt <<EOF
hello world
someone
up
there
loves
me
EOF
hg add 1.txt 2.txt dir/a.txt
hg commit -d '0 0' -m 'initial checkin'
echo % changing files
sed -e 's/2/2 2/;s/4/4 4/' 1.txt > 1.txt.new
sed -e 's/b/b b/' 2.txt > 2.txt.new
sed -e 's/hello world/hello world!/' dir/a.txt > dir/a.txt.new
mv -f 1.txt.new 1.txt
mv -f 2.txt.new 2.txt
mv -f dir/a.txt.new dir/a.txt
echo % whole diff
hg diff --nodates
echo % qrecord a.patch
hg qrecord -d '0 0' -m aaa a.patch <<EOF
y
y
n
y
y
n
EOF
echo
echo % "after qrecord a.patch 'tip'"
hg tip -p
echo
echo % "after qrecord a.patch 'diff'"
hg diff --nodates
echo % qrecord b.patch
hg qrecord -d '0 0' -m bbb b.patch <<EOF
y
y
y
y
EOF
echo
echo % "after qrecord b.patch 'tip'"
hg tip -p
echo
echo % "after qrecord b.patch 'diff'"
hg diff --nodates
echo
echo % --- end ---