annotate tests/test-evolve-content-divergent-corner-cases.t @ 4991:2928f35023a1 stable

evolve: make sure divergence resolution doesn't undo changes (issue6203) Before this patch, in content-divergence resolution logic if resolution parent is not the parent of any of the two divergent changesets then it could undo some changes introduced by previous revs (while resolving stack of content-divergent changesets) as demonstrated by the test added in previous patch. To solve this, what this patch doing is: if divergent cset has obsolete parent with a successor then first resolve the "orphan" instability of divergent cset by relocating, then perform the content-divergence resolution. After this change in logic, I found that it's kind of more correct as reflected by the changes in tests/test-evolve-content-divergent-corner-cases.t where it prevented creating conflicts while merging. Changes in tests/test-evolve-content-divergent-stack.t demonstrate the fixed behaviour. Next patches will be covering the `evolve --continue` case for the relocation of "divergent" cset.
author Sushil khanchi <sushilkhanchi97@gmail.com>
date Sat, 23 Nov 2019 16:17:04 +0530
parents b6c819facbe8
children 1f92a6aa40d6 5d76b320420e
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
4991
2928f35023a1 evolve: make sure divergence resolution doesn't undo changes (issue6203)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4676
diff changeset
273 $ hg evolve --content-divergent --any --update --config ui.interactive=true <<EOF
2928f35023a1 evolve: make sure divergence resolution doesn't undo changes (issue6203)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4676
diff changeset
274 > c
2928f35023a1 evolve: make sure divergence resolution doesn't undo changes (issue6203)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4676
diff changeset
275 > EOF
4481
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
276 merge:[5] updated e
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
277 with: [6] updated e
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
278 base: [4] added e
4991
2928f35023a1 evolve: make sure divergence resolution doesn't undo changes (issue6203)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4676
diff changeset
279 rebasing "divergent" content-divergent changeset ff6f7cd76a7c on 155349b645be
2928f35023a1 evolve: make sure divergence resolution doesn't undo changes (issue6203)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4676
diff changeset
280 rebasing "other" content-divergent changeset de4ea3103326 on 155349b645be
2928f35023a1 evolve: make sure divergence resolution doesn't undo changes (issue6203)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4676
diff changeset
281 file 'd' was deleted in local but was modified in other.
2928f35023a1 evolve: make sure divergence resolution doesn't undo changes (issue6203)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4676
diff changeset
282 You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved.
2928f35023a1 evolve: make sure divergence resolution doesn't undo changes (issue6203)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4676
diff changeset
283 What do you want to do? c
2928f35023a1 evolve: make sure divergence resolution doesn't undo changes (issue6203)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4676
diff changeset
284 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
2928f35023a1 evolve: make sure divergence resolution doesn't undo changes (issue6203)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4676
diff changeset
285 working directory is now at eb6357cd41b6
4481
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
286
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
287 $ hg glog -l1
4991
2928f35023a1 evolve: make sure divergence resolution doesn't undo changes (issue6203)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 4676
diff changeset
288 @ 9:eb6357cd41b6 updated e
4481
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
289 | () [default] draft
d02a7c8cdee5 test: consolidate the content-divergent test cases
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3846
diff changeset
290 ~
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 $ cd ..
4493
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
293
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
294 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
295 ---------------------------------------------------------
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
296
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
297 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
298
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
299 $ 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
300 $ 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
301 $ 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
302 $ 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
303 $ 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
304 $ 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
305 $ 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
306
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
307 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
308
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
309 $ 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
310 $ 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
311 $ 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
312 $ hg amend
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
313
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
314 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
315
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
316 $ 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
317 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
318 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
319 (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
320 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
321 (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
322 $ 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
323 $ hg amend
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
324 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
325 $ 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
326 @ 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
327 | () [default] draft
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
328 | * 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
329 |/ () [default] draft
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
330 | 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
331 |/ () [default] draft
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
332 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
333 () [default] draft
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
334
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
335 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
336
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
337 $ hg evolve --content-divergent --update
4580
3ef96578da43 evolve: use --all by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 4576
diff changeset
338 merge:[2] delete a
3ef96578da43 evolve: use --all by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 4576
diff changeset
339 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
340 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
341 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
342 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
343 $ hg glog
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
344 @ 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
345 | () [default] draft
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
346 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
347 () [default] draft
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
348
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
349 $ 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
350 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
351 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
352 --- a/a
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
353 +++ /dev/null
32446b7a6e7c test: add test for content-divergence with file removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4481
diff changeset
354 @@ -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
355 -a