Mercurial > hg
view tests/test-rebase-scenario-global.out @ 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 | 341182ac95e4 |
children | 4bb4895e1693 |
line wrap: on
line source
@ 5: F | | o 4: E |/| o | 3: D | | | o 2: C |/ | o 1: B |/ o 0: A % Rebasing % B onto F - simple rebase saving bundle to adding branch adding changesets adding manifests adding file changes added 5 changesets with 4 changes to 4 files (+1 heads) rebase completed @ 5: B | o 4: F | | o 3: E |/| o | 2: D | | | o 1: C |/ o 0: A % B onto D - intermediate point saving bundle to adding branch adding changesets adding manifests adding file changes added 5 changesets with 4 changes to 4 files (+2 heads) rebase completed @ 5: B | | o 4: F |/ | o 3: E |/| o | 2: D | | | o 1: C |/ o 0: A % C onto F - skip of E saving bundle to adding branch adding changesets adding manifests adding file changes added 3 changesets with 3 changes to 3 files (+1 heads) rebase completed @ 4: C | o 3: F | o 2: D | | o 1: B |/ o 0: A % D onto C - rebase of a branching point (skip E) saving bundle to adding branch adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 2 files rebase completed @ 4: F | o 3: D | o 2: C | | o 1: B |/ o 0: A % E onto F - merged revision having a parent in ancestors of target saving bundle to adding branch adding changesets adding manifests adding file changes added 2 changesets with 1 changes to 1 files (-1 heads) rebase completed @ 5: E |\ | o 4: F | | | o 3: D | | o | 2: C |/ | o 1: B |/ o 0: A % D onto B - E maintains C as parent saving bundle to adding branch adding changesets adding manifests adding file changes added 3 changesets with 2 changes to 2 files rebase completed @ 5: F | | o 4: E |/| o | 3: D | | | o 2: C | | o | 1: B |/ o 0: A % These will fail (using --source) % E onto D - rebase onto an ancestor abort: source is descendant of destination % D onto E - rebase onto a descendant abort: source is ancestor of destination % E onto B - merge revision with both parents not in ancestors of target abort: cannot use revision 4 as base, result would have 3 parents % These will abort gracefully (using --base) % E onto E - rebase onto same changeset nothing to rebase % E onto D - rebase onto an ancestor nothing to rebase % D onto E - rebase onto a descendant nothing to rebase