Mercurial > evolve
annotate tests/test-issue-5720.t @ 3661:61fdd25542a6
patch: offer the user a chance to fix the patch if it fails to apply
The experience is still not great, but better than purely dropping the changes.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 11 Apr 2018 07:23:34 +0200 |
parents | 14cd04ff968e |
children | d5adce52cef4 f6979d64b9fb |
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! |
ef475fce0dd2
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
65 fix conflict and run 'hg evolve --continue' or use 'hg update -C .' to abort |
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 |