view tests/test-rollback @ 11715:4f9dfb54c8b5 stable

qpush --move: move the right patch even with comment lines 88fc876a4833 caused that we find the index of the moving patch in self.series but look it up in self.full_series. The difference between these is that full_series also contains comment lines, and we thus moved the wrong patch. Use back self.full_series to find the moving patch, but take care of striping the patch guard markers before comparing the patch name. Test cases have been added for comments and empty lines in self.full_series, and for the case of guarded patches. Original patch contributed by Mads Kiilerich <mads@kiilerich.com>
author Gilles Moris <gilles.moris@free.fr>
date Sat, 10 Jul 2010 21:23:00 +0200
parents c52057614c72
children 4c94b6d0fb1c
line wrap: on
line source

#!/bin/sh

mkdir t
cd t
hg init
echo a > a
hg add a
hg commit -m "test" -d "1000000 0"
hg verify
hg parents
hg status
hg rollback
hg verify
hg parents
hg status

echo % Test issue 902
hg commit -m "test2"
hg branch test
hg rollback
hg branch

echo '% Test issue 1635 (commit message saved)'
echo '.hg/last-message.txt:'
cat .hg/last-message.txt ; echo

echo % Test rollback of hg before issue 902 was fixed
hg commit -m "test3"
hg branch test
rm .hg/undo.branch
hg rollback
hg branch

echo '% rollback by pretxncommit saves commit message (issue 1635)'
echo a >> a
hg --config hooks.pretxncommit=false commit -m"precious commit message" 2>&1 | sed 's,exited with status .*,exited ...,g'
echo '.hg/last-message.txt:'
cat .hg/last-message.txt ; echo

echo '% same thing, but run $EDITOR'
cat > $HGTMP/editor <<'__EOF__'
#!/bin/sh
echo "another precious commit message" > "$1"
__EOF__
chmod +x "$HGTMP"/editor
HGEDITOR="'$HGTMP'"/editor hg --config hooks.pretxncommit=false commit 2>&1 | sed 's,exited with status .*,exited ...,g'
echo '.hg/last-message.txt:'
cat .hg/last-message.txt