tests/test-issue-5720.t
author Anton Shestakov <av6@dwimlabs.net>
Sat, 29 Jun 2019 18:21:57 +0800
branchstable
changeset 4699 dfd88e3fa90a
parent 4577 bcd52ce0916d
child 4675 79bc0f1a832e
child 4676 b6c819facbe8
permissions -rw-r--r--
prune: update to the successor of wdir also with --pair/--biject (issue6142) When prune is used with --pair flag, we can also update to the successor of working directory parent. No need to check len(sucs) or len(precs) here because there's a check for that earlier in the code (it's a requirement of biject). The tests are now demonstrate the correct behavior: when rev 14 was pruned with 12 as its successor, the bookmark that was on 14 was moved to 12. That bookmark was also activated (even before this patch).
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')
3852
629558d09898 evolve: raise error.InterventionRequired instead of Abort when conflicts
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3843
diff changeset
    64
  fix conflicts and see `hg help evolve.interrupted`
629558d09898 evolve: raise error.InterventionRequired instead of Abort when conflicts
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3843
diff changeset
    65
  [1]
3379
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    66
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    67
Fix the conflict
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    68
  $ echo c2 > a
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    69
  $ hg resolve -m
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    70
  (no more unresolved files)
3472
05bd493d496d evolve: add evolve info to cmdutil.afterresolvedstates
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3417
diff changeset
    71
  continue: hg evolve --continue
3379
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    72
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    73
Continue the evolution
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    74
  $ 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
    75
  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
    76
  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
    77
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    78
Tip should stay in secret phase
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    79
  $ 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
    80
  o  4: secret
3379
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    81
  |
4577
bcd52ce0916d evolve: don't update after instability resolution by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 3852
diff changeset
    82
  @  3: draft
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  0: draft
ef475fce0dd2 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    85
  
4577
bcd52ce0916d evolve: don't update after instability resolution by default (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 3852
diff changeset
    86
  $ 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
    87
  secret