tests/test-evolve-list.t
author Sushil khanchi <sushilkhanchi97@gmail.com>
Sat, 23 Mar 2019 02:10:31 +0530
changeset 4442 819bad275701
parent 3373 3ff0da45d4c7
child 3418 85cdce113c2c
child 4363 a2fdbece7ce1
child 4471 3caa4a459439
permissions -rw-r--r--
evolve: add logic to handle a particular case in divergence resolution Case is: In content divergence, to check if the two csets are on different parent or same parent what we do is find gca of the two csets and then compare it with the singlesuccessors of two csets's parents. Now, if gca is same as singlesuccessors of both the csets then we conclude that both are on the same parent which is not totally correct as it is possible that both the parents of two csets are obsolete with a single successor. This patch adds the logic to cover the above metioned case correctly, deciding the part when we need to relocate a cset to other side while resolving the stack of divergent csets. Changes in test file demonstrate that before this patch we were not doing it right because it should have relocated every node to other side instead of just relocating the first one from the stack.
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
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
     8
Test the instability listing
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
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    30
Test the bumpedness listing
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
9ae4e79a28f3 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com>
parents:
diff changeset
    44
Test the divergence listing
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 ..