annotate tests/test-excessive-merge.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 b87acfda5268
children b7a966ce89ed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
1 $ hg init
1716
ef8cd889a78b Refactor excessive merge detection, add test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
2
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
3 $ echo foo > a
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
4 $ echo foo > b
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
5 $ hg add a b
1716
ef8cd889a78b Refactor excessive merge detection, add test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
6
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
7 $ hg ci -m "test"
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
8
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
9 $ echo blah > a
1716
ef8cd889a78b Refactor excessive merge detection, add test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
10
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
11 $ hg ci -m "branch a"
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
12
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
13 $ hg co 0
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
14 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1716
ef8cd889a78b Refactor excessive merge detection, add test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
15
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
16 $ echo blah > b
1716
ef8cd889a78b Refactor excessive merge detection, add test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
17
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
18 $ hg ci -m "branch b"
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
19 created new head
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
20 $ HGMERGE=true hg merge 1
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
21 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
22 (branch merge, don't forget to commit)
1716
ef8cd889a78b Refactor excessive merge detection, add test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
23
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
24 $ hg ci -m "merge b/a -> blah"
1716
ef8cd889a78b Refactor excessive merge detection, add test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
25
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
26 $ hg co 1
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
27 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
28 $ HGMERGE=true hg merge 2
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
29 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
30 (branch merge, don't forget to commit)
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
31 $ hg ci -m "merge a/b -> blah"
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
32 created new head
1716
ef8cd889a78b Refactor excessive merge detection, add test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
33
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
34 $ hg log
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
35 changeset: 4:2ee31f665a86
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
36 tag: tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
37 parent: 1:96155394af80
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
38 parent: 2:92cc4c306b19
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
39 user: test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
40 date: Thu Jan 01 00:00:00 1970 +0000
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
41 summary: merge a/b -> blah
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
42
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
43 changeset: 3:e16a66a37edd
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
44 parent: 2:92cc4c306b19
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
45 parent: 1:96155394af80
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
46 user: test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
47 date: Thu Jan 01 00:00:00 1970 +0000
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
48 summary: merge b/a -> blah
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
49
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
50 changeset: 2:92cc4c306b19
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
51 parent: 0:5e0375449e74
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
52 user: test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
53 date: Thu Jan 01 00:00:00 1970 +0000
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
54 summary: branch b
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
55
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
56 changeset: 1:96155394af80
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
57 user: test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
58 date: Thu Jan 01 00:00:00 1970 +0000
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
59 summary: branch a
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
60
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
61 changeset: 0:5e0375449e74
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
62 user: test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11974
diff changeset
63 date: Thu Jan 01 00:00:00 1970 +0000
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
64 summary: test
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
65
14323
a79fea6b3e77 debugindex etc.: add --changelog and --manifest options
Sune Foldager <cryo@cyanite.org>
parents: 14182
diff changeset
66 $ hg debugindex --changelog
17132
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 14323
diff changeset
67 rev offset length ..... linkrev nodeid p1 p2 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 14323
diff changeset
68 0 0 60 ..... 0 5e0375449e74 000000000000 000000000000 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 14323
diff changeset
69 1 60 62 ..... 1 96155394af80 5e0375449e74 000000000000 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 14323
diff changeset
70 2 122 62 ..... 2 92cc4c306b19 5e0375449e74 000000000000 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 14323
diff changeset
71 3 184 69 ..... 3 e16a66a37edd 92cc4c306b19 96155394af80 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 14323
diff changeset
72 4 253 29 ..... 4 2ee31f665a86 96155394af80 92cc4c306b19 (re)
1716
ef8cd889a78b Refactor excessive merge detection, add test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
73
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
74 revision 1
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
75 $ hg manifest --debug 1
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
76 79d7492df40aa0fa093ec4209be78043c181f094 644 a
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
77 2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 b
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
78 revision 2
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
79 $ hg manifest --debug 2
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
80 2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 a
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
81 79d7492df40aa0fa093ec4209be78043c181f094 644 b
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
82 revision 3
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
83 $ hg manifest --debug 3
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
84 79d7492df40aa0fa093ec4209be78043c181f094 644 a
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
85 79d7492df40aa0fa093ec4209be78043c181f094 644 b
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
86 revision 4
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
87 $ hg manifest --debug 4
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
88 79d7492df40aa0fa093ec4209be78043c181f094 644 a
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
89 79d7492df40aa0fa093ec4209be78043c181f094 644 b
1716
ef8cd889a78b Refactor excessive merge detection, add test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
90
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 12156
diff changeset
91 $ hg debugindex a
17132
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 14323
diff changeset
92 rev offset length ..... linkrev nodeid p1 p2 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 14323
diff changeset
93 0 0 5 ..... 0 2ed2a3912a0b 000000000000 000000000000 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 14323
diff changeset
94 1 5 6 ..... 1 79d7492df40a 2ed2a3912a0b 000000000000 (re)
1716
ef8cd889a78b Refactor excessive merge detection, add test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
95
11974
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
96 $ hg verify
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
97 checking changesets
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
98 checking manifests
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
99 crosschecking files in changesets and manifests
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
100 checking files
ccd581c66284 tests: unify test-excessive-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 3853
diff changeset
101 2 files, 5 changesets, 4 total revisions