annotate tests/test-evolve-content-divergent-corner-cases.t @ 4722:7839720c7c75

rewind: make sure merge commits include files from p1 and p2 Otherwise rewinding a merge commit makes it lose all changes. This fix populates `updates` argument of rewriteutil.rewrite() with parent changesets. That argument is normally used for folding multiple changesets, but in this case it's simply used to include files from p1 and p2. Usually, rewrite() works fine using ctx.files(), but that function can return an empty list when ctx is a merge commit.
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 11 Jul 2019 17:04:08 +0800
parents b6c819facbe8
children ecf0f3bc7468 2928f35023a1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4481
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
1 ========================================================
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
2 Tests the resolution of content divergence: corner cases
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
3 ========================================================
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
4
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
5 This file intend to cover cases that are specific enough to not fit in the
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
6 other cases.
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
7
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
8 $ cat >> $HGRCPATH <<EOF
4481
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
9 > [alias]
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
10 > glog = log -GT "{rev}:{node|short} {desc|firstline}\n ({bookmarks}) [{branch}] {phase}"
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
11 > [defaults]
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
12 > amend=-d "0 0"
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
13 > fold=-d "0 0"
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
14 > [web]
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
15 > push_ssl = false
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
16 > allow_push = *
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
17 > [phases]
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
18 > publish = False
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
19 > [diff]
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
20 > git = 1
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
21 > unified = 0
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
22 > [ui]
4625
a4fde4e3e763 templatekw: add `instabilities` alias for `troubles`
Matt Harbison <matt_harbison@yahoo.com>
parents: 4580
diff changeset
23 > logtemplate = {rev}:{node|short}@{branch}({phase}) {desc|firstline} [{instabilities}]\n
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
24 > [extensions]
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
25 > EOF
1806
9f42f819267b evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1630
diff changeset
26 $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
27 $ mkcommit() {
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
28 > echo "$1" > "$1"
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
29 > hg add "$1"
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
30 > hg ci -m "add $1"
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
31 > }
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
32
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
33 $ mkcommits() {
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
34 > for i in $@; do mkcommit $i ; done
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
35 > }
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
36
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
37 Basic test of divergence: two divergent changesets with the same parents
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
38 With --all --any we dedupe the divergent and solve the divergence once
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
39
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
40 $ hg init test1
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
41 $ cd test1
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
42 $ echo a > a
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
43 $ hg ci -Aqm "added a"
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
44 $ echo b > b
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
45 $ hg ci -Aqm "added b"
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
46
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
47 $ hg up .^
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
48 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
49 $ echo bdivergent > bdivergent1
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
50 $ hg ci -Am "divergent"
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
51 adding bdivergent1
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
52 created new head
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
53
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
54 $ hg up .^
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
55 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
56 $ echo bdivergent > bdivergent2
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
57 $ hg ci -Am "divergent"
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
58 adding bdivergent2
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
59 created new head
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
60
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
61 $ hg prune -s 8374d2ddc3a4 "desc('added b')"
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
62 1 changesets pruned
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
63 $ hg prune -s 593c57f2117e "desc('added b')" --hidden
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
64 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
65 2 new content-divergent changesets
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
66
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
67 $ hg log -G
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
68 @ 3:8374d2ddc3a4@default(draft) divergent [content-divergent]
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
69 |
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
70 | * 2:593c57f2117e@default(draft) divergent [content-divergent]
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
71 |/
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
72 o 0:9092f1db7931@default(draft) added a []
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
73
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
74
4576
96ce1030d2fb tests: add --update to hg evolve to reduce test changes for the next patch
Anton Shestakov <av6@dwimlabs.net>
parents: 4493
diff changeset
75 $ hg evolve --all --any --content-divergent --update
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
76 merge:[2] divergent
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
77 with: [3] divergent
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
78 base: [1] added b
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
79 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
3846
f9dad99a90d5 evolve: create a new commit instead of amending one of the divergents
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3799
diff changeset
80 working directory is now at 45bf1312f454
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
81 $ hg log -G
3846
f9dad99a90d5 evolve: create a new commit instead of amending one of the divergents
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3799
diff changeset
82 @ 4:45bf1312f454@default(draft) divergent []
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
83 |
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
84 o 0:9092f1db7931@default(draft) added a []
1467
5c385b812500 evolve: dedupe divergents when running evolve --all --any or evolve --rev
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
85
1536
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
86 Test divergence resolution when it yields to an empty commit (issue4950)
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
87 cdivergent2 contains the same content than cdivergent1 and they are divergent
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
88 versions of the revision _c
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
89
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
90 $ hg up .^
1536
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
91 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
92 $ mkcommit _c
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
93 created new head
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
94
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
95 $ hg up .^
1536
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
96 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
97 $ mkcommit cdivergent1
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
98 created new head
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
99
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
100 $ hg up .^
1536
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
101 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
102 $ echo "cdivergent1" > cdivergent1
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
103 $ hg add cdivergent1
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
104 $ hg ci -m "add _c"
1536
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
105 created new head
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
106
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
107 $ hg log -G
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
108 @ 7:b2ae71172042@default(draft) add _c []
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
109 |
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
110 | o 6:e3ff64ce8d4c@default(draft) add cdivergent1 []
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
111 |/
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
112 | o 5:48819a835615@default(draft) add _c []
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
113 |/
3846
f9dad99a90d5 evolve: create a new commit instead of amending one of the divergents
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3799
diff changeset
114 | o 4:45bf1312f454@default(draft) divergent []
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
115 |/
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
116 o 0:9092f1db7931@default(draft) added a []
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
117
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
118
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
119 $ hg prune -s b2ae71172042 48819a835615
1536
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
120 1 changesets pruned
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
121 $ hg prune -s e3ff64ce8d4c 48819a835615 --hidden
1536
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
122 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
123 2 new content-divergent changesets
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
124
1536
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
125 $ hg log -G
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
126 @ 7:b2ae71172042@default(draft) add _c [content-divergent]
1536
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
127 |
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
128 | * 6:e3ff64ce8d4c@default(draft) add cdivergent1 [content-divergent]
1536
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
129 |/
3846
f9dad99a90d5 evolve: create a new commit instead of amending one of the divergents
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3799
diff changeset
130 | o 4:45bf1312f454@default(draft) divergent []
1536
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
131 |/
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
132 o 0:9092f1db7931@default(draft) added a []
1536
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
133
3154
406992d0d611 evolve: rename --contentdivergent flag to --content-divergent
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3013
diff changeset
134 $ hg evolve --all --any --content-divergent
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
135 merge:[6] add cdivergent1
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
136 with: [7] add _c
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
137 base: [5] add _c
1536
9afe9e0191a1 evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Laurent Charignon <lcharignon@fb.com>
parents: 1467
diff changeset
138 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
139 nothing changed
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
140 working directory is now at e3ff64ce8d4c
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
141
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
142 $ cd ..
1630
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
143
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
144 Test None docstring issue of evolve divergent, which caused hg crush
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
145
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
146 $ hg init test2
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
147 $ cd test2
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
148 $ mkcommits _a _b
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
149
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
150 $ hg up .^
1630
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
151 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
152 $ echo bdivergent > bdivergent11
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
153 $ hg ci -Am "bdivergent"
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
154 adding bdivergent11
1630
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
155 created new head
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
156
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
157 $ hg up .^
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
158 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
159 $ echo bdivergent > bdivergent22
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
160 $ hg ci -Am "bdivergent"
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
161 adding bdivergent22
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
162 created new head
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
163
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
164 $ hg log -G
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
165 @ 3:6b096fb45070@default(draft) bdivergent []
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
166 |
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
167 | o 2:05a6b6a9e633@default(draft) bdivergent []
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
168 |/
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
169 | o 1:37445b16603b@default(draft) add _b []
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
170 |/
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
171 o 0:135f39f4bd78@default(draft) add _a []
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
172
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
173
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
174 $ hg prune -s 6b096fb45070 37445b16603b
1630
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
175 1 changesets pruned
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
176 $ hg prune -s 05a6b6a9e633 37445b16603b --hidden
1630
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
177 1 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
178 2 new content-divergent changesets
1630
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
179 $ hg log -G
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
180 @ 3:6b096fb45070@default(draft) bdivergent [content-divergent]
1630
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
181 |
3799
037ccbf41c6d tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3798
diff changeset
182 | * 2:05a6b6a9e633@default(draft) bdivergent [content-divergent]
1630
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
183 |/
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
184 o 0:135f39f4bd78@default(draft) add _a []
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
185
3798
7c05ee4a8cc7 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3787
diff changeset
186
1630
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
187 $ cat >$TESTTMP/test_extension.py << EOF
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
188 > from mercurial import merge
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
189 > origupdate = merge.update
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
190 > def newupdate(*args, **kwargs):
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
191 > return origupdate(*args, **kwargs)
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
192 > merge.update = newupdate
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
193 > EOF
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
194 $ cat >> $HGRCPATH << EOF
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
195 > [extensions]
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
196 > testextension=$TESTTMP/test_extension.py
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
197 > EOF
4580
3ef96578da43 evolve: use --all by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 4576
diff changeset
198 $ hg evolve
1630
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
199 nothing to evolve on current working copy parent
3154
406992d0d611 evolve: rename --contentdivergent flag to --content-divergent
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3013
diff changeset
200 (do you want to use --content-divergent)
1630
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
201 [2]
3154
406992d0d611 evolve: rename --contentdivergent flag to --content-divergent
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3013
diff changeset
202 $ hg evolve --content-divergent
4580
3ef96578da43 evolve: use --all by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 4576
diff changeset
203 merge:[2] bdivergent
3ef96578da43 evolve: use --all by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 4576
diff changeset
204 with: [3] bdivergent
1630
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
205 base: [1] add _b
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
206 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
3846
f9dad99a90d5 evolve: create a new commit instead of amending one of the divergents
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3799
diff changeset
207 working directory is now at 73ff357d3975
1630
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
208
35c666ef724e evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com>
parents: 1536
diff changeset
209 $ cd ..
4481
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
210
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
211 Test to make sure that evolve don't fall into unrecoverable state (issue6053)
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
212 ------------------------------------------------------------------------------
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
213
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
214 It happened when two divergent csets has different parent (need relocation)
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
215 and resolution parent is obsolete. So this issue triggered when during
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
216 relocation we hit conflicts. So lets make the repo as described.
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
217
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
218 $ hg init localside
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
219 $ cd localside
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
220 $ for ch in a b c d e; do
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
221 > echo $ch > $ch;
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
222 > hg add $ch;
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
223 > hg ci -m "added "$ch;
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
224 > done;
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
225
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
226 $ hg glog
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
227 @ 4:8d71eadcc9df added e
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
228 | () [default] draft
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
229 o 3:9150fe93bec6 added d
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
230 | () [default] draft
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
231 o 2:155349b645be added c
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
232 | () [default] draft
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
233 o 1:5f6d8a4bf34a added b
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
234 | () [default] draft
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
235 o 0:9092f1db7931 added a
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
236 () [default] draft
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
237
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
238 $ echo ee > e
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
239 $ hg amend -m "updated e"
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
240 $ hg up 1 -q
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
241
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
242 To make sure we hit conflict while relocating
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
243 $ echo dd > d
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
244 $ echo ee > e
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
245 $ hg add d e
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
246 $ hg ci -m "updated e"
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
247 created new head
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
248
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
249 Lets create divergence
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
250 $ hg prune 4 -s . --hidden
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
251 1 changesets pruned
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
252 2 new content-divergent changesets
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
253
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
254 Making obsolete resolution parent
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
255 $ hg prune 3
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
256 1 changesets pruned
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
257 1 new orphan changesets
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
258
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
259 $ hg glog
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
260 @ 6:de4ea3103326 updated e
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
261 | () [default] draft
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
262 | * 5:ff6f7cd76a7c updated e
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
263 | | () [default] draft
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
264 | x 3:9150fe93bec6 added d
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
265 | | () [default] draft
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
266 | o 2:155349b645be added c
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
267 |/ () [default] draft
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
268 o 1:5f6d8a4bf34a added b
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
269 | () [default] draft
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
270 o 0:9092f1db7931 added a
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
271 () [default] draft
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
272
4576
96ce1030d2fb tests: add --update to hg evolve to reduce test changes for the next patch
Anton Shestakov <av6@dwimlabs.net>
parents: 4493
diff changeset
273 $ hg evolve --content-divergent --any --update
4481
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
274 merge:[5] updated e
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
275 with: [6] updated e
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
276 base: [4] added e
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
277 rebasing "other" content-divergent changeset de4ea3103326 on 9150fe93bec6
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
278 merging d
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
279 warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
4676
b6c819facbe8 evolvecmd: the proper way to deal with conflicts is to resolve them
Anton Shestakov <av6@dwimlabs.net>
parents: 4633
diff changeset
280 unresolved merge conflicts
b6c819facbe8 evolvecmd: the proper way to deal with conflicts is to resolve them
Anton Shestakov <av6@dwimlabs.net>
parents: 4633
diff changeset
281 (see 'hg help evolve.interrupted')
4481
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
282 [1]
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
283
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
284 $ hg diff --no-git --config diff.unified=3
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
285 diff -r 9150fe93bec6 d
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
286 --- a/d Thu Jan 01 00:00:00 1970 +0000
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
287 +++ b/d Thu Jan 01 00:00:00 1970 +0000
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
288 @@ -1,1 +1,5 @@
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
289 +<<<<<<< destination: 9150fe93bec6 - test: added d
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
290 d
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
291 +=======
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
292 +dd
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
293 +>>>>>>> evolving: de4ea3103326 - test: updated e
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
294 diff -r 9150fe93bec6 e
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
295 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
296 +++ b/e Thu Jan 01 00:00:00 1970 +0000
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
297 @@ -0,0 +1,1 @@
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
298 +ee
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
299
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
300 $ echo dresolved > d
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
301 $ hg res -m
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
302 (no more unresolved files)
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
303 continue: hg evolve --continue
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
304
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
305 $ hg evolve --continue
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
306 evolving 6:de4ea3103326 "updated e"
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
307 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
308 working directory is now at 83b1664a580f
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
309
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
310 $ hg glog -l1
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
311 @ 8:83b1664a580f updated e
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
312 | () [default] draft
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
313 ~
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
314
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
315 $ cd ..
4493
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
316
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
317 Check that canceling of file deletion are merge correctly
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
318 ---------------------------------------------------------
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
319
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
320 File addition/deletion tend to have special processing. So we better test them directory
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
321
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
322 $ hg init non-public
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
323 $ cd non-public
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
324 $ echo a > a
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
325 $ echo b > b
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
326 $ echo c > c
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
327 $ echo d > d
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
328 $ hg ci -Aqm initial
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
329
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
330 oops, we meant to delete just 'a', but we deleted 'b' and 'c' too
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
331
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
332 $ hg rm a b c
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
333 $ hg ci -m 'delete a'
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
334 $ hg revert -r .^ b
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
335 $ hg amend
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
336
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
337 create some content divergence
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
338
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
339 $ hg co dff6e52f5e41 --hidden
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
340 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
341 updated to hidden changeset dff6e52f5e41
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
342 (hidden revision 'dff6e52f5e41' was rewritten as: 0825dcee2670)
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
343 working directory parent is obsolete! (dff6e52f5e41)
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
344 (use 'hg evolve' to update to its successor: 0825dcee2670)
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
345 $ hg revert -r .^ c
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
346 $ hg amend
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
347 2 new content-divergent changesets
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
348 $ hg glog --hidden
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
349 @ 3:92ecd58f9b05 delete a
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
350 | () [default] draft
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
351 | * 2:0825dcee2670 delete a
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
352 |/ () [default] draft
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
353 | x 1:dff6e52f5e41 delete a
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
354 |/ () [default] draft
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
355 o 0:75d2b02c4a5c initial
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
356 () [default] draft
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
357
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
358 Resolve the divergence, only "a" should be removed
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
359
4576
96ce1030d2fb tests: add --update to hg evolve to reduce test changes for the next patch
Anton Shestakov <av6@dwimlabs.net>
parents: 4493
diff changeset
360 $ hg evolve --content-divergent --update
4580
3ef96578da43 evolve: use --all by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 4576
diff changeset
361 merge:[2] delete a
3ef96578da43 evolve: use --all by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 4576
diff changeset
362 with: [3] delete a
4493
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
363 base: [1] delete a
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
364 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
365 working directory is now at 7ca6a9fafcf6
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
366 $ hg glog
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
367 @ 4:7ca6a9fafcf6 delete a
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
368 | () [default] draft
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
369 o 0:75d2b02c4a5c initial
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
370 () [default] draft
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
371
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
372 $ hg diff --change .
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
373 diff --git a/a b/a
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
374 deleted file mode 100644
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
375 --- a/a
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
376 +++ /dev/null
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
377 @@ -1,1 +0,0 @@
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
378 -a