Mercurial > hg
view tests/test-subrepo @ 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 | a7c4eb0cc0ed |
children | 5ca0d220ae21 a19d2993385d |
line wrap: on
line source
#!/bin/sh rm -rf sub mkdir sub cd sub hg init t cd t echo % first revision, no sub echo a > a hg ci -Am0 echo % add first sub echo s = s > .hgsub hg add .hgsub hg init s echo a > s/a hg -R s ci -Ams0 hg ci -m1 echo % add sub sub echo ss = ss > s/.hgsub hg init s/ss echo a > s/ss/a hg -R s add s/.hgsub hg -R s/ss add s/ss/a hg ci -m2 echo % bump sub rev echo b > s/a hg -R s ci -ms1 hg ci -m3 echo % leave sub dirty echo c > s/a hg ci -m4 hg tip -R s echo % check caching hg co 0 hg debugsub echo % restore hg co hg debugsub echo % new branch for merge tests hg co 1 echo t = t >> .hgsub hg init t echo t > t/t hg -R t add t echo % 5 hg ci -m5 # add sub echo t2 > t/t echo % 6 hg st -R s hg ci -m6 # change sub hg debugsub echo t3 > t/t echo % 7 hg ci -m7 # change sub again for conflict test hg rm .hgsub echo % 8 hg ci -m8 # remove sub echo % merge tests hg co -C 3 hg merge 5 # test adding hg debugsub hg ci -m9 hg merge 6 --debug # test change hg debugsub echo conflict > t/t hg ci -m10 HGMERGE=internal:merge hg merge --debug 7 # test conflict echo % should conflict cat t/t echo % clone cd .. hg clone t tc cd tc hg debugsub echo % push echo bah > t/t hg ci -m11 hg push | sed 's/ .*sub/ ...sub/g' echo % push -f echo bah > s/a hg ci -m12 hg push | sed 's/ .*sub/ ...sub/g' hg push -f | sed 's/ .*sub/ ...sub/g' echo % update cd ../t hg up -C # discard our earlier merge echo blah > t/t hg ci -m13 echo % pull cd ../tc hg pull | sed 's/ .*sub/ ...sub/g' hg up # should pull t cat t/t