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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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