annotate tests/test-diff-reverse.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 c586cb50872b
children 55c6ebd11cb9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12139
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
1 $ hg init
9725
3f522d2fa633 diff: add --inverse option
Yannick Gingras <ygingras@ygingras.net>
parents:
diff changeset
2
12139
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
3 $ cat > a <<EOF
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
4 > a
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
5 > b
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
6 > c
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
7 > EOF
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
8 $ hg ci -Am adda
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
9 adding a
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
10
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
11 $ cat > a <<EOF
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
12 > d
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
13 > e
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
14 > f
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
15 > EOF
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
16 $ hg ci -m moda
9725
3f522d2fa633 diff: add --inverse option
Yannick Gingras <ygingras@ygingras.net>
parents:
diff changeset
17
12139
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
18 $ hg diff --reverse -r0 -r1
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
19 diff -r 2855cdcfcbb7 -r 8e1805a3cf6e a
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
20 --- a/a Thu Jan 01 00:00:00 1970 +0000
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
21 +++ b/a Thu Jan 01 00:00:00 1970 +0000
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
22 @@ -1,3 +1,3 @@
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
23 -d
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
24 -e
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
25 -f
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
26 +a
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
27 +b
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
28 +c
9725
3f522d2fa633 diff: add --inverse option
Yannick Gingras <ygingras@ygingras.net>
parents:
diff changeset
29
12139
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
30 $ cat >> a <<EOF
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
31 > g
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
32 > h
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
33 > EOF
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
34 $ hg diff --reverse --nodates
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
35 diff -r 2855cdcfcbb7 a
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
36 --- a/a
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
37 +++ b/a
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
38 @@ -1,5 +1,3 @@
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
39 d
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
40 e
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
41 f
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
42 -g
5a69ea8d65b3 tests: unify test-diff-reverse
Adrian Buehlmann <adrian@cadifra.com>
parents: 9857
diff changeset
43 -h
9725
3f522d2fa633 diff: add --inverse option
Yannick Gingras <ygingras@ygingras.net>
parents:
diff changeset
44
23080
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
45 should show removed file 'a' as being added
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
46 $ hg revert a
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
47 $ hg rm a
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
48 $ hg diff --reverse --nodates a
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
49 diff -r 2855cdcfcbb7 a
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
50 --- /dev/null
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
51 +++ b/a
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
52 @@ -0,0 +1,3 @@
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
53 +d
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
54 +e
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
55 +f
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
56
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
57 should show added file 'b' as being removed
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
58 $ echo b >> b
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
59 $ hg add b
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
60 $ hg diff --reverse --nodates b
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
61 diff -r 2855cdcfcbb7 b
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
62 --- a/b
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
63 +++ /dev/null
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
64 @@ -1,1 +0,0 @@
c586cb50872b context.status: remove incorrect swapping of added/removed in workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents: 12139
diff changeset
65 -b