tests/test-evolve-issue5967.t
author Anton Shestakov <av6@dwimlabs.net>
Fri, 19 Jul 2019 17:25:29 +0800
branchstable
changeset 4763 184c64c81528
parent 4689 27947b17cfaf
child 4706 de194ed973ba
permissions -rw-r--r--
prune: spell --successor flag without any unnecessary shortcuts If a user wants to spell out -s, it makes sense to allow that. Before this patch, prune would complain that --successor is not a recognized option. Obviously people don't usually need to spell --successors by hand thanks to shell completion (at least for Bash) using debugcomplete to see all available flags, so this patch doesn't bring any need for more typing. And thanks to Mercurial understanding shortened forms of command-line flags as long as they are unambiguous, the old-style `--succ` flags still work normally, and there are tests that use them. But two tests now use the full form to demonstrate that both ways work.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4688
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     1
hg evolve --continue and obsmarkers after conflict resolution with no changes to commit (issue5967)
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     2
https://bz.mercurial-scm.org/show_bug.cgi?id=5967
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     3
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     4
  $ . $TESTDIR/testlib/common.sh
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     5
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     6
  $ hg init issue5967
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     7
  $ cd issue5967
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     8
  $ cat > .hg/hgrc << EOF
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     9
  > [alias]
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    10
  > glog = log -GT "{rev}: {desc}"
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    11
  > [extensions]
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    12
  > evolve=
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    13
  > EOF
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    14
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    15
  $ echo apple > a
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    16
  $ hg ci -qAm 'apple'
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    17
  $ echo banana > a
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    18
  $ hg ci -m 'banana'
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    19
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    20
Amending revision 0 in a way that causes conflicts
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    21
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    22
  $ hg prev
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    23
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    24
  [0] apple
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    25
  $ echo apricot > a
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    26
  $ hg amend -m 'apricot'
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    27
  1 new orphan changesets
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    28
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    29
  $ hg glog
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    30
  @  2: apricot
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    31
  
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    32
  *  1: banana
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    33
  |
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    34
  x  0: apple
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    35
  
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    36
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    37
Trying to evolve, then manually discarding changes from revision 1
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    38
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    39
  $ hg evolve
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    40
  move:[1] banana
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    41
  atop:[2] apricot
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    42
  merging a
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    43
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    44
  fix conflicts and see `hg help evolve.interrupted`
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    45
  [1]
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    46
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    47
  $ echo apricot > a
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    48
  $ hg resolve --mark a
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    49
  (no more unresolved files)
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    50
  continue: hg evolve --continue
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    51
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    52
This will correctly notice that revision 1 can be dropped
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    53
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    54
  $ hg evolve --continue
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    55
  evolving 1:dd9b5dd30cd6 "banana"
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    56
  evolution of 1:dd9b5dd30cd6 created no changes to commit
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    57
  working directory is now at 4d6fec23dcc4
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    58
  $ hg glog
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    59
  @  2: apricot
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    60
  
4689
27947b17cfaf evolve: orphans that evolve into nothing don't need successors (issue5967)
Anton Shestakov <av6@dwimlabs.net>
parents: 4688
diff changeset
    61
27947b17cfaf evolve: orphans that evolve into nothing don't need successors (issue5967)
Anton Shestakov <av6@dwimlabs.net>
parents: 4688
diff changeset
    62
This is important: 1 should not have a successor (especially not revision 2)
27947b17cfaf evolve: orphans that evolve into nothing don't need successors (issue5967)
Anton Shestakov <av6@dwimlabs.net>
parents: 4688
diff changeset
    63
4688
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    64
  $ hg olog --all
4689
27947b17cfaf evolve: orphans that evolve into nothing don't need successors (issue5967)
Anton Shestakov <av6@dwimlabs.net>
parents: 4688
diff changeset
    65
  @  4d6fec23dcc4 (2) apricot
4688
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    66
  |
4689
27947b17cfaf evolve: orphans that evolve into nothing don't need successors (issue5967)
Anton Shestakov <av6@dwimlabs.net>
parents: 4688
diff changeset
    67
  x  3ba7db0ce860 (0) apple
27947b17cfaf evolve: orphans that evolve into nothing don't need successors (issue5967)
Anton Shestakov <av6@dwimlabs.net>
parents: 4688
diff changeset
    68
       rewritten(description, content) as 4d6fec23dcc4 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
4688
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    69
  
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    70
  $ hg olog --hidden --all 1
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    71
  x  dd9b5dd30cd6 (1) banana
4689
27947b17cfaf evolve: orphans that evolve into nothing don't need successors (issue5967)
Anton Shestakov <av6@dwimlabs.net>
parents: 4688
diff changeset
    72
       pruned using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
4688
75329efe56a9 tests: demonstrate obsmarker creation after discarding conflicting changes
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    73