tests/test-issue-5720.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 27 Sep 2019 13:03:20 +0200
branchmercurial-4.6
changeset 4867 769b907e644e
parent 4676 b6c819facbe8
permissions -rw-r--r--
test-compat: merge mercurial-4.7 into mercurial-4.6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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')
4676
b6c819facbe8 evolvecmd: the proper way to deal with conflicts is to resolve them
Anton Shestakov <av6@dwimlabs.net>
parents: 4577
diff changeset
    64
  unresolved merge conflicts
b6c819facbe8 evolvecmd: the proper way to deal with conflicts is to resolve them
Anton Shestakov <av6@dwimlabs.net>
parents: 4577
diff changeset
    65
  (see 'hg help evolve.interrupted')
3852
629558d09898 evolve: raise error.InterventionRequired instead of Abort when conflicts
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3843
diff changeset
    66
  [1]
3379
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    67
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    68
Fix the conflict
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    69
  $ echo c2 > a
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    70
  $ hg resolve -m
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    71
  (no more unresolved files)
3472
05bd493d496d evolve: add evolve info to cmdutil.afterresolvedstates
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3417
diff changeset
    72
  continue: hg evolve --continue
3379
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    73
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    74
Continue the evolution
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    75
  $ 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
    76
  evolving 2:13833940840c "c"
4577
bcd52ce0916d evolve: don't update after instability resolution by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 3852
diff changeset
    77
  working directory is now at 87495ea7c9ec
3379
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    78
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    79
Tip should stay in secret phase
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    80
  $ hg log -G -T "{rev}: {phase}"
4577
bcd52ce0916d evolve: don't update after instability resolution by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 3852
diff changeset
    81
  o  4: secret
3379
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    82
  |
4577
bcd52ce0916d evolve: don't update after instability resolution by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 3852
diff changeset
    83
  @  3: draft
3379
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    84
  |
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    85
  o  0: draft
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    86
  
4577
bcd52ce0916d evolve: don't update after instability resolution by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 3852
diff changeset
    87
  $ hg log -r tip -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
    88
  secret