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

r6628:f18f14ba default
r6651:7f0dd352 default
Show More
test-mq-merge
73 lines | 1.3 KiB | text/plain | TextLexer
Patrick Mezard
Add test for issue 529 - "mq aborts when merging patch deleting files".
r4333 #!/bin/sh
# Test issue 529 - mq aborts when merging patch deleting files
rewrite_path()
{
sed -e 's:\\:/:g' -e 's:[^ ]*/t/::g'
}
Alexis S. L. Carvalho
mq: really remove undo after a qpush (and after a strip)...
r5527 checkundo()
{
if [ -f .hg/store/undo ]; then
echo ".hg/store/undo still exists after $1"
fi
}
Patrick Mezard
Add test for issue 529 - "mq aborts when merging patch deleting files".
r4333 echo "[extensions]" >> $HGRCPATH
echo "hgext.mq=" >> $HGRCPATH
# Commit two dummy files in "init" changeset
hg init t
cd t
echo a > a
echo b > b
hg ci -Am init
hg tag -l init
# Create a patch removing a
hg qnew rm_a
hg rm a
hg qrefresh -m "rm a"
# Save the patch queue so we can merge it later
hg qsave -c -e 2>&1 | rewrite_path
Alexis S. L. Carvalho
mq: really remove undo after a qpush (and after a strip)...
r5527 checkundo qsave
Patrick Mezard
Add test for issue 529 - "mq aborts when merging patch deleting files".
r4333
# Update b and commit in an "update" changeset
hg up -C init
echo b >> b
hg st
hg ci -m update
# Here, qpush used to abort with :
# The system cannot find the file specified => a
hg manifest
hg qpush -a -m 2>&1 | rewrite_path
Alexis S. L. Carvalho
mq: really remove undo after a qpush (and after a strip)...
r5527 checkundo 'qpush -m'
Patrick Mezard
Add test for issue 529 - "mq aborts when merging patch deleting files".
r4333 hg manifest
Brendan Cully
Make mergepatch save queue now that qpush isn't.
r4437
# ensure status is correct after merge
hg qpop -a
Patrick Mezard
test-mq-merge: test mq merge and explicit patch queue
r6628 cd ..
# Classic MQ merge sequence *with an explicit named queue*
echo
echo % init t2
hg init t2
cd t2
echo a > a
hg ci -Am init
echo b >> a
hg ci -m changea
hg up -C 0
echo c >> a
hg qnew -f -e patcha
echo % create the reference queue
hg qsave -c -e -n refqueue 2> /dev/null
hg up -C 1
echo % merge
hg qpush -m -n refqueue 2>&1 | \
sed 's/merging with queue at.*refqueue/merging with queue at refqueue/'
cd ..