Mercurial > hg
view tests/test-rebase-legacy.t @ 41454:d1d3094b54f9
patch: handle 0 context lines (diff.unified=0) when parsing patches
Previously, if there were no context lines, we would just keep updating the
ranges and the hunk, but not actually storing the hunk (just overwriting it each
time). Thus a diff like this:
$ hg diff --config diff.unified=0
diff --git a/bar b/bar
--- a/bar
+++ b/bar
@@ -1,0 +2,1 @@ 1
+change1
@@ -3,0 +5,1 @@ 3
+change2
would come out of the parser like this (change1 is lost):
bar:
@@ -3,0 +5,1 @@ 3
+change2
This had some really weird side effects for things like commit --interactive,
split, etc.
Differential Revision: https://phab.mercurial-scm.org/D5743
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Mon, 28 Jan 2019 18:00:14 -0800 |
parents | 4441705b7111 |
children | 35ebdbb38efb |
line wrap: on
line source
Test rebase --continue with rebasestate written by legacy client $ cat >> $HGRCPATH <<EOF > [extensions] > rebase= > drawdag=$TESTDIR/drawdag.py > EOF $ hg init $ hg debugdrawdag <<'EOF' > D H > | | > C G > | | > B F > | | > Z A E > \|/ > R > EOF rebasestate generated by a legacy client running "hg rebase -r B+D+E+G+H -d Z" $ touch .hg/last-message.txt $ cat > .hg/rebasestate <<EOF > 0000000000000000000000000000000000000000 > f424eb6a8c01c4a0c0fba9f863f79b3eb5b4b69f > 0000000000000000000000000000000000000000 > 0 > 0 > 0 > > 21a6c45028857f500f56ae84fbf40689c429305b:-2 > de008c61a447fcfd93f808ef527d933a84048ce7:0000000000000000000000000000000000000000 > c1e6b162678d07d0b204e5c8267d51b4e03b633c:0000000000000000000000000000000000000000 > aeba276fcb7df8e10153a07ee728d5540693f5aa:-3 > bd5548558fcf354d37613005737a143871bf3723:-3 > d2fa1c02b2401b0e32867f26cce50818a4bd796a:0000000000000000000000000000000000000000 > 6f7a236de6852570cd54649ab62b1012bb78abc8:0000000000000000000000000000000000000000 > 6582e6951a9c48c236f746f186378e36f59f4928:0000000000000000000000000000000000000000 > EOF $ hg rebase --continue rebasing 4:c1e6b162678d "B" (B) rebasing 8:6f7a236de685 "D" (D) rebasing 2:de008c61a447 "E" (E) rebasing 7:d2fa1c02b240 "G" (G) rebasing 9:6582e6951a9c "H" (H tip) warning: orphaned descendants detected, not stripping c1e6b162678d, de008c61a447 saved backup bundle to $TESTTMP/.hg/strip-backup/6f7a236de685-9880a3dc-rebase.hg $ hg log -G -T '{rev}:{node|short} {desc}\n' o 11:721b8da0a708 H | o 10:9d65695ec3c2 G | o 9:21c8397a5d68 E | | o 8:fc52970345e8 D | | | o 7:eac96551b107 B |/ | o 6:bd5548558fcf C | | | | o 5:aeba276fcb7d F | | | | o | 4:c1e6b162678d B | | | o | | 3:f424eb6a8c01 Z | | | +---o 2:de008c61a447 E | | | o 1:21a6c4502885 A |/ o 0:b41ce7760717 R