Mercurial > evolve
annotate tests/test-issue-5720.t @ 3790:5b9e3aaa6da8
evolve: prompt user for branch selection while resolving content-divergence
When resolving content-divergence, there can be case when both the
content-divergent changesets are on different named branches. In that case, we
are not sure which branch should the resolution commit should be on.
This patch adds logic to prompt user to choose the branch which the resolution
commit should be on and then creates the new resolution commit on that branch.
This also adds a new test file which have tests for the branch selection feature
we have added.
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Mon, 04 Jun 2018 04:03:02 +0530 |
parents | f6979d64b9fb |
children | 19ec729f3ca2 ededd22e7c7b |
rev | line source |
---|---|
3379
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
1 This test file test the #5720 issue |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
2 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
3 Check that `hg evolve --continue` doesn't change changeset phase from secret |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
4 to draft after a merge conflict. |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
5 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
6 https://bz.mercurial-scm.org/show_bug.cgi?id=5720 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
7 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
8 Global setup |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
9 ============ |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
10 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
11 $ . $TESTDIR/testlib/common.sh |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
12 $ cat >> $HGRCPATH <<EOF |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
13 > [ui] |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
14 > interactive = true |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
15 > [phases] |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
16 > publish=False |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
17 > [extensions] |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
18 > evolve = |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
19 > EOF |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
20 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
21 Test |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
22 ==== |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
23 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
24 $ hg init $TESTTMP/issue-5720 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
25 $ cd $TESTTMP/issue-5720 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
26 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
27 Create two drafts commits and one secret |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
28 $ echo a > a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
29 $ hg commit -Am a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
30 adding a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
31 $ echo b > a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
32 $ hg commit -m b |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
33 $ echo c > a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
34 $ hg commit --secret -m c |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
35 $ hg log -G -T "{rev}: {phase}" |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
36 @ 2: secret |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
37 | |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
38 o 1: draft |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
39 | |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
40 o 0: draft |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
41 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
42 Amend the second draft with new content |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
43 $ hg prev |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
44 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
45 [1] b |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
46 $ echo b2 > a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
47 $ hg amend |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
48 1 new orphan changesets |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
49 $ hg log -G -T "{rev}: {phase}" |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
50 @ 3: draft |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
51 | |
3417
d3a17c67f85c
branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
3411
diff
changeset
|
52 | * 2: secret |
3379
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
53 | | |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
54 | x 1: draft |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
55 |/ |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
56 o 0: draft |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
57 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
58 Evolve which triggers a conflict |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
59 $ hg evolve |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
60 move:[2] c |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
61 atop:[3] b |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
62 merging a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
63 warning: conflicts while merging a! (edit, then use 'hg resolve --mark') |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
64 evolve failed! |
3702
f6979d64b9fb
evolve: point to '--abort' in error message
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
3494
diff
changeset
|
65 fix conflict and run 'hg evolve --continue' or use 'hg evolve --abort' to abort |
3379
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
66 abort: unresolved merge conflicts (see hg help resolve) |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
67 [255] |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
68 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
69 Fix the conflict |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
70 $ echo c2 > a |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
71 $ hg resolve -m |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
72 (no more unresolved files) |
3472
05bd493d496d
evolve: add evolve info to cmdutil.afterresolvedstates
Pulkit Goyal <7895pulkit@gmail.com>
parents:
3417
diff
changeset
|
73 continue: hg evolve --continue |
3379
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
74 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
75 Continue the evolution |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
76 $ hg evolve --continue |
3386
2a51107e60cf
evolve: add a utility fn to check validity of opts passed to `hg evolve`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
3379
diff
changeset
|
77 evolving 2:13833940840c "c" |
3494
14cd04ff968e
evolve: show the updated working directory after `hg evolve --continue`
Pulkit Goyal <7895pulkit@gmail.com>
parents:
3472
diff
changeset
|
78 working directory is now at 3d2080c198e5 |
3379
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
79 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
80 Tip should stay in secret phase |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
81 $ hg log -G -T "{rev}: {phase}" |
3388
be41e4740a25
evolve: use phases.new-commit config to retain phase information (issue5720)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
3386
diff
changeset
|
82 @ 4: secret |
3379
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
83 | |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
84 o 3: draft |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
85 | |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
86 o 0: draft |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
87 |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
88 $ hg log -r . -T '{phase}\n' |
3388
be41e4740a25
evolve: use phases.new-commit config to retain phase information (issue5720)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
3386
diff
changeset
|
89 secret |