Mercurial > hg
view tests/test-copy2 @ 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 | 6c82beaaa11a |
children | e8d10d085f47 |
line wrap: on
line source
#!/bin/sh hg init echo foo > foo echo "# should fail - foo is not managed" hg mv foo bar hg st -A hg add foo echo "# dry-run; print a warning that this is not a real copy; foo is added" hg mv --dry-run foo bar hg st -A echo "# should print a warning that this is not a real copy; bar is added" hg mv foo bar hg st -A echo "# should print a warning that this is not a real copy; foo is added" hg cp bar foo hg rm -f bar rm bar hg st -A hg commit -m1 echo "# dry-run; should show that foo is clean" hg copy --dry-run foo bar hg st -A echo "# should show copy" hg copy foo bar hg st -C echo "# shouldn't show copy" hg commit -m2 hg st -C echo "# should match" hg debugindex .hg/store/data/foo.i hg debugrename bar echo bleah > foo echo quux > bar hg commit -m3 echo "# should not be renamed" hg debugrename bar hg copy -f foo bar echo "# should show copy" hg st -C hg commit -m3 echo "# should show no parents for tip" hg debugindex .hg/store/data/bar.i echo "# should match" hg debugindex .hg/store/data/foo.i hg debugrename bar echo "# should show no copies" hg st -C echo "# copy --after on an added file" cp bar baz hg add baz hg cp -A bar baz hg st -C echo "# foo was clean:" hg st -AC foo echo "# but it's considered modified after a copy --after --force" hg copy -Af bar foo hg st -AC foo exit 0