annotate tests/test-excessive-merge.t @ 31975:76169296e52f

obsolescence: add test for the "branch replacement" logic during push, case A2 Mercurial checks for the introduction of new heads on push. Evolution comes into play to detect if existing branches on the server are being replaced by some of the new one we push. The current code for this logic is very basic (eg: issue4354) and was poorly tested. We have a better implementation coming in the evolve extension fixing these issues and with more serious tests coverage. In the process of upstreaming this improved logic, we start with adding the test case that are already passing with the current implementation. Once they are all in, we'll upstream the better implementation and the extra test case. See inline documentation for details about the test case added in this changeset.
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Thu, 13 Apr 2017 16:23:01 +0200
parents b7a966ce89ed
children 009d0283de5f
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)
30155
b7a966ce89ed changelog: disable delta chains
Gregory Szorc <gregory.szorc@gmail.com>
parents: 17132
diff changeset
72 4 253 69 ..... 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