Mercurial > hg
view tests/test-mq-qpush-fail @ 9827:4fe9ca519637
mdiff: fix diff -b/B/w on mixed whitespace hunks (issue127)
Previous code was computing hunks then checking if these hunks could be ignored
when taking whitespace/blank-lines options in accounts. This approach is simple
but fails with hunks containing both whitespace and non-whitespace changes, the
whole hunk is emitted while it can be mostly made of whitespace. The new
version normalize the whitespaces before hunk generation, and test for
blank-lines afterwards.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Wed, 11 Nov 2009 18:31:42 +0100 |
parents | 07a62819b309 |
children | 8cb81d75730c |
line wrap: on
line source
#!/bin/sh # Test that qpush cleans things up if it doesn't complete echo "[extensions]" >> $HGRCPATH echo "mq=" >> $HGRCPATH hg init repo cd repo echo foo > foo hg ci -Am 'add foo' touch untracked-file echo 'syntax: glob' > .hgignore echo '.hgignore' >> .hgignore hg qinit echo '% test qpush on empty series' hg qpush hg qnew patch1 echo >> foo hg qrefresh -m 'patch 1' hg qnew patch2 echo bar > bar hg add bar hg qrefresh -m 'patch 2' hg qnew bad-patch echo >> foo hg qrefresh hg qpop -a python -c 'print "\xe9"' > message cat .hg/patches/bad-patch >> message mv message .hg/patches/bad-patch hg qpush -a && echo 'qpush succeded?!' hg parents echo '% bar should be gone; other unknown/ignored files should still be around' hg status -A echo '% preparing qpush of a missing patch' hg qpop -a hg qpush rm .hg/patches/patch2 echo '% now we expect the push to fail, but it should NOT complain about patch1' hg qpush echo '% preparing qpush of missing patch with no patch applied' hg qpop -a rm .hg/patches/patch1 echo '% qpush should fail the same way as below' hg qpush true # happy ending