tests/test-evolve-list.t
author Martin von Zweigbergk <martinvonz@google.com>
Fri, 19 Apr 2019 09:41:39 -0700
changeset 4607 d314deb12f08
parent 4471 3caa4a459439
child 4516 f54bb6eaf5e6
permissions -rw-r--r--
evolve: run in a single transaction This speeds up `hg evolve --all` of a stack of 24 commits in the hg repo from 11.5s to 3.7s (3x). As can be seen in the tests, it also avoid some warnings about transiently unstable commits.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1634
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
     1
Set up some configs
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
     2
  $ cat >> $HGRCPATH <<EOF
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
     3
  > [extensions]
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
     4
  > rebase=
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
     5
  > EOF
1806
9f42f819267b evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1646
diff changeset
     6
  $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
1634
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
     7
4471
3caa4a459439 tests: use current instability names everywhere
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3373
diff changeset
     8
Test listing orphan changesets
1634
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
     9
  $ hg init r2
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    10
  $ cd r2
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    11
  $ echo a > a && hg ci -Am a
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    12
  adding a
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    13
  $ echo b > b && hg ci -Am b
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    14
  adding b
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    15
  $ echo c > c && hg ci -Am c
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    16
  adding c
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    17
  $ hg up 0
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    18
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    19
  $ echo a >> a && hg ci --amend -m a
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
    20
  2 new orphan changesets
1634
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    21
  $ hg evolve --list
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    22
  d2ae7f538514: b
3373
3ff0da45d4c7 evolve: use compat.TROUBLES to show troubles in user interface
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
    23
    orphan: cb9a9f314b8b (obsolete parent)
1634
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    24
  
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    25
  177f92b77385: c
2834
38db1466c6fb log: unstable was renamed into orphan
Boris Feld <boris.feld@octobus.net>
parents: 2479
diff changeset
    26
    orphan: d2ae7f538514 (orphan parent)
1634
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    27
  
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    28
  $ cd ..
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    29
4471
3caa4a459439 tests: use current instability names everywhere
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3373
diff changeset
    30
Test listing phase-divergent changesets
1634
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    31
  $ hg init r3
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    32
  $ cd r3
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    33
  $ echo a > a && hg ci -Am a
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    34
  adding a
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    35
  $ echo b > b && hg ci --amend -m ab
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    36
  $ hg phase --public --rev 0 --hidden
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
    37
  1 new phase-divergent changesets
1634
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    38
  $ hg evolve --list
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    39
  88cc282e27fc: ab
3373
3ff0da45d4c7 evolve: use compat.TROUBLES to show troubles in user interface
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
    40
    phase-divergent: cb9a9f314b8b (immutable precursor)
1634
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    41
  
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    42
  $ cd ..
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    43
4471
3caa4a459439 tests: use current instability names everywhere
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3373
diff changeset
    44
Test listing content-divergent changesets
1634
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    45
  $ hg init r1
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    46
  $ cd r1
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    47
  $ echo a > a && hg ci -Am a
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    48
  adding a
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    49
  $ hg up 0
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    50
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    51
  $ echo b > b && hg ci -Am b
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    52
  adding b
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    53
  $ hg up 0
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    54
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    55
  $ echo c > c && hg ci -Am c
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    56
  adding c
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    57
  created new head
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    58
  $ hg up 0
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    59
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    60
  $ echo d > d && hg ci -Am d
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    61
  adding d
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    62
  created new head
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    63
  $ hg rebase -s 1 -d 2
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    64
  rebasing 1:d2ae7f538514 "b"
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    65
  $ hg rebase -s 1 -d 3 --hidden --config experimental.allowdivergence=True
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    66
  rebasing 1:d2ae7f538514 "b"
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
    67
  2 new content-divergent changesets
1634
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    68
  $ hg evolve --list
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    69
  c882616e9d84: b
3373
3ff0da45d4c7 evolve: use compat.TROUBLES to show troubles in user interface
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
    70
    content-divergent: a922b3733e98 (draft) (precursor d2ae7f538514)
1634
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    71
  
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    72
  a922b3733e98: b
3373
3ff0da45d4c7 evolve: use compat.TROUBLES to show troubles in user interface
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
    73
    content-divergent: c882616e9d84 (draft) (precursor d2ae7f538514)
1646
7e1b49cda66c list: report the phase for divergent commits
timeless@gmail.com
parents: 1634
diff changeset
    74
  
2479
df9233aa4bac evolve: fix --rev with --list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 1806
diff changeset
    75
  $ hg evolve --list --rev c882616e9d84
df9233aa4bac evolve: fix --rev with --list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 1806
diff changeset
    76
  c882616e9d84: b
3373
3ff0da45d4c7 evolve: use compat.TROUBLES to show troubles in user interface
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
    77
    content-divergent: a922b3733e98 (draft) (precursor d2ae7f538514)
2479
df9233aa4bac evolve: fix --rev with --list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 1806
diff changeset
    78
  
1646
7e1b49cda66c list: report the phase for divergent commits
timeless@gmail.com
parents: 1634
diff changeset
    79
  $ hg phase -p a922b3733e98
7e1b49cda66c list: report the phase for divergent commits
timeless@gmail.com
parents: 1634
diff changeset
    80
  $ hg evolve --list
7e1b49cda66c list: report the phase for divergent commits
timeless@gmail.com
parents: 1634
diff changeset
    81
  c882616e9d84: b
3373
3ff0da45d4c7 evolve: use compat.TROUBLES to show troubles in user interface
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
    82
    content-divergent: a922b3733e98 (public) (precursor d2ae7f538514)
1634
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    83
  
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    84
  $ cd ..