tests/test-issue-5720.t
author Pulkit Goyal <7895pulkit@gmail.com>
Wed, 28 Mar 2018 14:11:13 +0530
changeset 3636 92a2d3217de9
parent 3494 14cd04ff968e
child 3590 d5adce52cef4
child 3702 f6979d64b9fb
permissions -rw-r--r--
evolve: show a message when evolution leads to no changes to commit In case of orphan resolution, evolution may result in no changes to commit. This patch adds a use message in such cases. This is same as the rebase behavior.
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')
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