Mercurial > hg
annotate tests/test-mq-qimport-fail-cleanup.t @ 26228:0fd20a71abdb
extdiff: add a --patch argument for diffing changeset deltas
One of the things I missed the most when transitioning from versioned MQ to
evolve was the loss of being able to check that rebase conflicts were properly
resolved by:
$ hg ci --mq -m "before"
$ hg rebase -s qbase -d tip
$ hg bcompare --mq
The old csets stay in the tree with evolve, but a straight diff includes all of
the other changes that were pulled in, obscuring the code that was rebased.
Diffing deltas can be confusing, but unless radical changes were made during the
resolve, it is very clear when individual hunks are added, dropped or modified.
Unlike the MQ technique, this can only compare a single pair of csets/patches at
a time. Like the MQ method, this also highlights changes in the commit comment
and other metadata.
I originally tried monkey patching from the evolve extension, but that is too
complicated given that it depends on the order the two different extensions are
loaded. This functionality is also useful when comparing grafts however, so
implementing it in the core is more than just convenience.
The --change argument doesn't make much sense for this, but it isn't harmful so
I didn't bother blocking it. The -I/-X options are ignored because of a
limitation of cmdutil.export(). We'll fix that next.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Wed, 09 Sep 2015 21:07:38 -0400 |
parents | f2719b387380 |
children | 0342bf292f73 |
rev | line source |
---|---|
12465
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
1 Failed qimport of patches from files should cleanup by recording successfully |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
2 imported patches in series file. |
11462
1b82a26635d7
mq: qimport cleanup on fail (issue2214)
Vishakh H <vsh426@gmail.com>
parents:
diff
changeset
|
3 |
12465
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
4 $ echo "[extensions]" >> $HGRCPATH |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
5 $ echo "mq=" >> $HGRCPATH |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
6 $ hg init repo |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
7 $ cd repo |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
8 $ echo a > a |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
9 $ hg ci -Am'add a' |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
10 adding a |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
11 $ cat >b.patch<<EOF |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
12 > diff --git a/a b/a |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
13 > --- a/a |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
14 > +++ b/a |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
15 > @@ -1,1 +1,2 @@ |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
16 > a |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
17 > +b |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
18 > EOF |
11462
1b82a26635d7
mq: qimport cleanup on fail (issue2214)
Vishakh H <vsh426@gmail.com>
parents:
diff
changeset
|
19 |
12465
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
20 empty series |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
21 |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
22 $ hg qseries |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
23 |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
24 qimport valid patch followed by invalid patch |
11462
1b82a26635d7
mq: qimport cleanup on fail (issue2214)
Vishakh H <vsh426@gmail.com>
parents:
diff
changeset
|
25 |
12465
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
26 $ hg qimport b.patch fakepatch |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
27 adding b.patch to series file |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
28 abort: unable to read file fakepatch |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
29 [255] |
11462
1b82a26635d7
mq: qimport cleanup on fail (issue2214)
Vishakh H <vsh426@gmail.com>
parents:
diff
changeset
|
30 |
12465
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
31 valid patches before fail added to series |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
32 |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
33 $ hg qseries |
8b12768b15e2
tests: unify test-mq-qimport-fail-cleanup
Matt Mackall <mpm@selenic.com>
parents:
11462
diff
changeset
|
34 b.patch |
15704
8857e150bec0
phases: prevent mq to qimport immutable change.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15243
diff
changeset
|
35 |
8857e150bec0
phases: prevent mq to qimport immutable change.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15243
diff
changeset
|
36 $ hg pull -q -r 0 . # update phase |
8857e150bec0
phases: prevent mq to qimport immutable change.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15243
diff
changeset
|
37 $ hg qimport -r 0 |
8857e150bec0
phases: prevent mq to qimport immutable change.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15243
diff
changeset
|
38 abort: revision 0 is not mutable |
8857e150bec0
phases: prevent mq to qimport immutable change.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15243
diff
changeset
|
39 (see "hg help phases" for details) |
8857e150bec0
phases: prevent mq to qimport immutable change.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15243
diff
changeset
|
40 [255] |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16107
diff
changeset
|
41 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16107
diff
changeset
|
42 $ cd .. |