tests/test-rebase-newancestor.t
author Gregory Szorc <gregory.szorc@gmail.com>
Thu, 12 Apr 2018 23:14:38 -0700
changeset 37621 5537d8f5e989
parent 37330 db06c4bb2158
child 39304 f785073f792c
permissions -rw-r--r--
patch: make extract() a context manager (API) Previously, this function was creating a temporary file and relying on callers to unlink it. Yuck. We convert the function to a context manager and tie the lifetime of the temporary file to that of the context manager. This changed indentation not only from the context manager, but also from the elination of try blocks. It was just easier to split the heart of extract() into its own function. The single consumer of this function has been refactored to use it as a context manager. Code for cleaning up the file in tryimportone() has also been removed. .. api:: ``patch.extract()`` is now a context manager. Callers no longer have to worry about deleting the temporary file it creates, as the file is tied to the lifetime of the context manager. Differential Revision: https://phab.mercurial-scm.org/D3306
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     1
  $ cat >> $HGRCPATH <<EOF
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     2
  > [extensions]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     3
  > rebase=
33807
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
     4
  > drawdag=$TESTDIR/drawdag.py
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     5
  > [alias]
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
     6
  > tglog = log -G --template "{rev}: {node|short} '{desc}' {branches}\n"
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     7
  > EOF
11198
b345b1cc124f rebase: use helpers.sh in tests
Matt Mackall <mpm@selenic.com>
parents: 9815
diff changeset
     8
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     9
  $ hg init repo
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    10
  $ cd repo
9815
49efeed49c94 rebase: make sure the newancestor is used during the whole update
Christian Boos <cboos@bct-technology.com>
parents:
diff changeset
    11
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    12
  $ echo A > a
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    13
  $ echo >> a
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    14
  $ hg ci -Am A
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    15
  adding a
9815
49efeed49c94 rebase: make sure the newancestor is used during the whole update
Christian Boos <cboos@bct-technology.com>
parents:
diff changeset
    16
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    17
  $ echo B > a
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    18
  $ echo >> a
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    19
  $ hg ci -m B
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    20
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    21
  $ echo C > a
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    22
  $ echo >> a
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    23
  $ hg ci -m C
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    24
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    25
  $ hg up -q -C 0
9815
49efeed49c94 rebase: make sure the newancestor is used during the whole update
Christian Boos <cboos@bct-technology.com>
parents:
diff changeset
    26
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    27
  $ echo D >> a
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    28
  $ hg ci -Am AD
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    29
  created new head
9815
49efeed49c94 rebase: make sure the newancestor is used during the whole update
Christian Boos <cboos@bct-technology.com>
parents:
diff changeset
    30
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    31
  $ hg tglog
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
    32
  @  3: 3878212183bd 'AD'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    33
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
    34
  | o  2: 30ae917c0e4f 'C'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    35
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
    36
  | o  1: 0f4f7cb4f549 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    37
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
    38
  o  0: 1e635d440a73 'A'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    39
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    40
  $ hg rebase -s 1 -d 3
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
    41
  rebasing 1:0f4f7cb4f549 "B"
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    42
  merging a
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
    43
  rebasing 2:30ae917c0e4f "C"
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    44
  merging a
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35394
diff changeset
    45
  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/0f4f7cb4f549-82b3b163-rebase.hg
9815
49efeed49c94 rebase: make sure the newancestor is used during the whole update
Christian Boos <cboos@bct-technology.com>
parents:
diff changeset
    46
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    47
  $ hg tglog
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
    48
  o  3: 25773bc4b4b0 'C'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    49
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
    50
  o  2: c09015405f75 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    51
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
    52
  @  1: 3878212183bd 'AD'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    53
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
    54
  o  0: 1e635d440a73 'A'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    55
  
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12640
diff changeset
    56
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12640
diff changeset
    57
  $ cd ..
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    58
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    59
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    60
Test rebasing of merges with ancestors of the rebase destination - a situation
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    61
that often happens when trying to recover from repeated merging with a mainline
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    62
branch.
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    63
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    64
The test case creates a dev branch that contains a couple of merges from the
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    65
default branch. When rebasing to the default branch, these merges would be
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    66
merges with ancestors on the same branch. The merges _could_ contain some
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    67
interesting conflict resolutions or additional changes in the merge commit, but
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    68
that is mixed up with the actual merge stuff and there is in general no way to
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    69
separate them.
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    70
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    71
Note: The dev branch contains _no_ changes to f-default. It might be unclear
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    72
how rebasing of ancestor merges should be handled, but the current behavior
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    73
with spurious prompts for conflicts in files that didn't change seems very
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    74
wrong.
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    75
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    76
  $ hg init ancestor-merge
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    77
  $ cd ancestor-merge
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    78
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    79
  $ touch f-default
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    80
  $ hg ci -Aqm 'default: create f-default'
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    81
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    82
  $ hg branch -q dev
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    83
  $ hg ci -qm 'dev: create branch'
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    84
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    85
  $ echo stuff > f-dev
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    86
  $ hg ci -Aqm 'dev: f-dev stuff'
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    87
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    88
  $ hg up -q default
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    89
  $ echo stuff > f-default
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    90
  $ hg ci -m 'default: f-default stuff'
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    91
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    92
  $ hg up -q dev
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    93
  $ hg merge -q default
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    94
  $ hg ci -m 'dev: merge default'
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    95
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    96
  $ hg up -q default
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    97
  $ hg rm f-default
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    98
  $ hg ci -m 'default: remove f-default'
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
    99
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   100
  $ hg up -q dev
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   101
  $ hg merge -q default
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   102
  $ hg ci -m 'dev: merge default'
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   103
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   104
  $ hg up -q default
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   105
  $ echo stuff > f-other
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   106
  $ hg ci -Aqm 'default: f-other stuff'
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   107
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   108
  $ hg tglog
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   109
  @  7: e08089805d82 'default: f-other stuff'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   110
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   111
  | o  6: 9455ee510502 'dev: merge default' dev
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   112
  |/|
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   113
  o |  5: 462860db70a1 'default: remove f-default'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   114
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   115
  | o  4: 4b019212aaf6 'dev: merge default' dev
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   116
  |/|
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   117
  o |  3: f157ecfd2b6b 'default: f-default stuff'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   118
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   119
  | o  2: ec2c14fb2984 'dev: f-dev stuff' dev
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   120
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   121
  | o  1: 1d1a643d390e 'dev: create branch' dev
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   122
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   123
  o  0: e90e8eb90b6f 'default: create f-default'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   124
  
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   125
  $ hg clone -qU . ../ancestor-merge-2
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   126
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   127
Full rebase all the way back from branching point:
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   128
27598
97e39f70fb47 tests: explicitly request changed version in test-rebase-newancestor.t
Siddharth Agarwal <sid0@fb.com>
parents: 27163
diff changeset
   129
  $ hg rebase -r 'only(dev,default)' -d default --config ui.interactive=True << EOF
97e39f70fb47 tests: explicitly request changed version in test-rebase-newancestor.t
Siddharth Agarwal <sid0@fb.com>
parents: 27163
diff changeset
   130
  > c
97e39f70fb47 tests: explicitly request changed version in test-rebase-newancestor.t
Siddharth Agarwal <sid0@fb.com>
parents: 27163
diff changeset
   131
  > EOF
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   132
  rebasing 1:1d1a643d390e "dev: create branch"
23518
2fb0504b8175 rebase: show warning when rebase creates no changes to commit
Mads Kiilerich <madski@unity3d.com>
parents: 23517
diff changeset
   133
  note: rebase of 1:1d1a643d390e created no changes to commit
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   134
  rebasing 2:ec2c14fb2984 "dev: f-dev stuff"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   135
  rebasing 4:4b019212aaf6 "dev: merge default"
29786
978b907d9b36 merge: always use other, not remote, in user prompts
Simon Farnsworth <simonfar@fb.com>
parents: 29785
diff changeset
   136
  other [source] changed f-default which local [dest] deleted
27163
27b89a0957ec filemerge: add a 'leave unresolved' option to change/delete prompts
Siddharth Agarwal <sid0@fb.com>
parents: 26928
diff changeset
   137
  use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   138
  rebasing 6:9455ee510502 "dev: merge default"
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35394
diff changeset
   139
  saved backup bundle to $TESTTMP/ancestor-merge/.hg/strip-backup/1d1a643d390e-43e9e04b-rebase.hg
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   140
  $ hg tglog
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   141
  o  6: fbc098e72227 'dev: merge default'
23426
19ebd2f88fc7 merge with stable
Matt Mackall <mpm@selenic.com>
parents: 23408
diff changeset
   142
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   143
  o  5: eda7b7f46f5d 'dev: merge default'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   144
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   145
  o  4: 3e075b1c0a40 'dev: f-dev stuff'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   146
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   147
  @  3: e08089805d82 'default: f-other stuff'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   148
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   149
  o  2: 462860db70a1 'default: remove f-default'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   150
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   151
  o  1: f157ecfd2b6b 'default: f-default stuff'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   152
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   153
  o  0: e90e8eb90b6f 'default: create f-default'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   154
  
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   155
Grafty cherry picking rebasing:
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   156
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   157
  $ cd ../ancestor-merge-2
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   158
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   159
  $ hg phase -fdr0:
27598
97e39f70fb47 tests: explicitly request changed version in test-rebase-newancestor.t
Siddharth Agarwal <sid0@fb.com>
parents: 27163
diff changeset
   160
  $ hg rebase -r 'children(only(dev,default))' -d default --config ui.interactive=True << EOF
97e39f70fb47 tests: explicitly request changed version in test-rebase-newancestor.t
Siddharth Agarwal <sid0@fb.com>
parents: 27163
diff changeset
   161
  > c
97e39f70fb47 tests: explicitly request changed version in test-rebase-newancestor.t
Siddharth Agarwal <sid0@fb.com>
parents: 27163
diff changeset
   162
  > EOF
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   163
  rebasing 2:ec2c14fb2984 "dev: f-dev stuff"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   164
  rebasing 4:4b019212aaf6 "dev: merge default"
29786
978b907d9b36 merge: always use other, not remote, in user prompts
Simon Farnsworth <simonfar@fb.com>
parents: 29785
diff changeset
   165
  other [source] changed f-default which local [dest] deleted
27163
27b89a0957ec filemerge: add a 'leave unresolved' option to change/delete prompts
Siddharth Agarwal <sid0@fb.com>
parents: 26928
diff changeset
   166
  use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   167
  rebasing 6:9455ee510502 "dev: merge default"
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35394
diff changeset
   168
  saved backup bundle to $TESTTMP/ancestor-merge-2/.hg/strip-backup/ec2c14fb2984-62d0b222-rebase.hg
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   169
  $ hg tglog
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   170
  o  7: fbc098e72227 'dev: merge default'
23426
19ebd2f88fc7 merge with stable
Matt Mackall <mpm@selenic.com>
parents: 23408
diff changeset
   171
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   172
  o  6: eda7b7f46f5d 'dev: merge default'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   173
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   174
  o  5: 3e075b1c0a40 'dev: f-dev stuff'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   175
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   176
  o  4: e08089805d82 'default: f-other stuff'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   177
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   178
  o  3: 462860db70a1 'default: remove f-default'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   179
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   180
  o  2: f157ecfd2b6b 'default: f-default stuff'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   181
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   182
  | o  1: 1d1a643d390e 'dev: create branch' dev
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   183
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   184
  o  0: e90e8eb90b6f 'default: create f-default'
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   185
  
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   186
  $ cd ..
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   187
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   188
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   189
Test order of parents of rebased merged with un-rebased changes as p1.
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   190
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   191
  $ hg init parentorder
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   192
  $ cd parentorder
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   193
  $ touch f
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   194
  $ hg ci -Aqm common
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   195
  $ touch change
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   196
  $ hg ci -Aqm change
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   197
  $ touch target
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   198
  $ hg ci -Aqm target
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   199
  $ hg up -qr 0
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   200
  $ touch outside
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   201
  $ hg ci -Aqm outside
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   202
  $ hg merge -qr 1
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   203
  $ hg ci -m 'merge p1 3=outside p2 1=ancestor'
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   204
  $ hg par
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   205
  changeset:   4:6990226659be
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   206
  tag:         tip
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   207
  parent:      3:f59da8fc0fcf
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   208
  parent:      1:dd40c13f7a6f
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   209
  user:        test
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   210
  date:        Thu Jan 01 00:00:00 1970 +0000
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   211
  summary:     merge p1 3=outside p2 1=ancestor
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   212
  
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   213
  $ hg up -qr 1
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   214
  $ hg merge -qr 3
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   215
  $ hg ci -qm 'merge p1 1=ancestor p2 3=outside'
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   216
  $ hg par
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   217
  changeset:   5:a57575f79074
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   218
  tag:         tip
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   219
  parent:      1:dd40c13f7a6f
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   220
  parent:      3:f59da8fc0fcf
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   221
  user:        test
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   222
  date:        Thu Jan 01 00:00:00 1970 +0000
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   223
  summary:     merge p1 1=ancestor p2 3=outside
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   224
  
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   225
  $ hg tglog
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   226
  @    5: a57575f79074 'merge p1 1=ancestor p2 3=outside'
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   227
  |\
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   228
  +---o  4: 6990226659be 'merge p1 3=outside p2 1=ancestor'
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   229
  | |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   230
  | o  3: f59da8fc0fcf 'outside'
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   231
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   232
  +---o  2: a60552eb93fb 'target'
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   233
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   234
  o |  1: dd40c13f7a6f 'change'
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   235
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   236
  o  0: 02f0f58d5300 'common'
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   237
  
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   238
  $ hg rebase -r 4 -d 2
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   239
  rebasing 4:6990226659be "merge p1 3=outside p2 1=ancestor"
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35394
diff changeset
   240
  saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/6990226659be-4d67a0d3-rebase.hg
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   241
  $ hg tip
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   242
  changeset:   5:cca50676b1c5
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   243
  tag:         tip
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   244
  parent:      2:a60552eb93fb
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   245
  parent:      3:f59da8fc0fcf
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   246
  user:        test
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   247
  date:        Thu Jan 01 00:00:00 1970 +0000
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   248
  summary:     merge p1 3=outside p2 1=ancestor
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   249
  
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   250
  $ hg rebase -r 4 -d 2
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   251
  rebasing 4:a57575f79074 "merge p1 1=ancestor p2 3=outside"
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35394
diff changeset
   252
  saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/a57575f79074-385426e5-rebase.hg
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   253
  $ hg tip
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   254
  changeset:   5:f9daf77ffe76
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   255
  tag:         tip
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   256
  parent:      2:a60552eb93fb
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   257
  parent:      3:f59da8fc0fcf
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   258
  user:        test
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   259
  date:        Thu Jan 01 00:00:00 1970 +0000
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   260
  summary:     merge p1 1=ancestor p2 3=outside
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   261
  
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   262
  $ hg tglog
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   263
  @    5: f9daf77ffe76 'merge p1 1=ancestor p2 3=outside'
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   264
  |\
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   265
  +---o  4: cca50676b1c5 'merge p1 3=outside p2 1=ancestor'
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   266
  | |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   267
  | o  3: f59da8fc0fcf 'outside'
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   268
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   269
  o |  2: a60552eb93fb 'target'
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   270
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   271
  o |  1: dd40c13f7a6f 'change'
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   272
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   273
  o  0: 02f0f58d5300 'common'
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   274
  
23408
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   275
rebase of merge of ancestors
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   276
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   277
  $ hg up -qr 2
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   278
  $ hg merge -qr 3
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   279
  $ echo 'other change while merging future "rebase ancestors"' > other
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   280
  $ hg ci -Aqm 'merge rebase ancestors'
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   281
  $ hg rebase -d 5 -v
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   282
  rebasing 6:4c5f12f25ebe "merge rebase ancestors" (tip)
23408
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   283
  resolving manifests
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   284
  removing other
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   285
  note: merging f9daf77ffe76+ and 4c5f12f25ebe using bids from ancestors a60552eb93fb and f59da8fc0fcf
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   286
  
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   287
  calculating bids for ancestor a60552eb93fb
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   288
  resolving manifests
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   289
  
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   290
  calculating bids for ancestor f59da8fc0fcf
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   291
  resolving manifests
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   292
  
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   293
  auction for merging merge bids
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   294
   other: consensus for g
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   295
  end of auction
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   296
  
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   297
  getting other
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23748
diff changeset
   298
  committing files:
23408
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   299
  other
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23748
diff changeset
   300
  committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23748
diff changeset
   301
  committing changelog
23408
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   302
  rebase merging completed
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   303
  1 changesets found
23748
4ab66de46a96 bundle: when verbose, show what takes up the space in the generated bundle
Mads Kiilerich <madski@unity3d.com>
parents: 23518
diff changeset
   304
  uncompressed size of bundle content:
30211
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29786
diff changeset
   305
       199 (changelog)
26928
42b5193ab5de test: use generaldelta in 'test-rebase-newancestors.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23835
diff changeset
   306
       216 (manifests)
42b5193ab5de test: use generaldelta in 'test-rebase-newancestors.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23835
diff changeset
   307
       182  other
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35394
diff changeset
   308
  saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/4c5f12f25ebe-f46990e5-rebase.hg
23408
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   309
  1 changesets found
23748
4ab66de46a96 bundle: when verbose, show what takes up the space in the generated bundle
Mads Kiilerich <madski@unity3d.com>
parents: 23518
diff changeset
   310
  uncompressed size of bundle content:
30211
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29786
diff changeset
   311
       254 (changelog)
26928
42b5193ab5de test: use generaldelta in 'test-rebase-newancestors.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23835
diff changeset
   312
       167 (manifests)
42b5193ab5de test: use generaldelta in 'test-rebase-newancestors.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23835
diff changeset
   313
       182  other
23408
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   314
  adding branch
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   315
  adding changesets
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   316
  adding manifests
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   317
  adding file changes
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   318
  added 1 changesets with 1 changes to 1 files
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   319
  rebase completed
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   320
  $ hg tglog
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   321
  @  6: 113755df812b 'merge rebase ancestors'
23408
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   322
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   323
  o    5: f9daf77ffe76 'merge p1 1=ancestor p2 3=outside'
23408
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   324
  |\
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   325
  +---o  4: cca50676b1c5 'merge p1 3=outside p2 1=ancestor'
23408
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   326
  | |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   327
  | o  3: f59da8fc0fcf 'outside'
23408
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   328
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   329
  o |  2: a60552eb93fb 'target'
23408
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   330
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   331
  o |  1: dd40c13f7a6f 'change'
23408
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   332
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33882
diff changeset
   333
  o  0: 02f0f58d5300 'common'
23408
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   334
  
33807
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   335
Due to the limitation of 3-way merge algorithm (1 merge base), rebasing a merge
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   336
may include unwanted content:
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   337
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   338
  $ hg init $TESTTMP/dual-merge-base1
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   339
  $ cd $TESTTMP/dual-merge-base1
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   340
  $ hg debugdrawdag <<'EOS'
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   341
  >   F
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   342
  >  /|
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   343
  > D E
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   344
  > | |
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   345
  > B C
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   346
  > |/
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   347
  > A Z
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   348
  > |/
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   349
  > R
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   350
  > EOS
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   351
  $ hg rebase -r D+E+F -d Z
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   352
  rebasing 5:5f2c926dfecf "D" (D)
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   353
  rebasing 6:b296604d9846 "E" (E)
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   354
  rebasing 7:caa9781e507d "F" (F tip)
33882
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33807
diff changeset
   355
  abort: rebasing 7:caa9781e507d will include unwanted changes from 4:d6003a550c2c or 3:c1e6b162678d
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33807
diff changeset
   356
  [255]
33807
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   357
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   358
The warning does not get printed if there is no unwanted change detected:
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   359
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   360
  $ hg init $TESTTMP/dual-merge-base2
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   361
  $ cd $TESTTMP/dual-merge-base2
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   362
  $ hg debugdrawdag <<'EOS'
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   363
  >   D
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   364
  >  /|
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   365
  > B C
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   366
  > |/
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   367
  > A Z
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   368
  > |/
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   369
  > R
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   370
  > EOS
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   371
  $ hg rebase -r B+C+D -d Z
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   372
  rebasing 3:c1e6b162678d "B" (B)
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   373
  rebasing 4:d6003a550c2c "C" (C)
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   374
  rebasing 5:c8f78076273e "D" (D tip)
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35394
diff changeset
   375
  saved backup bundle to $TESTTMP/dual-merge-base2/.hg/strip-backup/d6003a550c2c-6f1424b6-rebase.hg
33807
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   376
  $ hg manifest -r 'desc(D)'
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   377
  B
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   378
  C
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   379
  R
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   380
  Z
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   381
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   382
The merge base could be different from old p1 (changed parent becomes new p1):
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   383
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   384
  $ hg init $TESTTMP/chosen-merge-base1
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   385
  $ cd $TESTTMP/chosen-merge-base1
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   386
  $ hg debugdrawdag <<'EOS'
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   387
  >   F
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   388
  >  /|
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   389
  > D E
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   390
  > | |
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   391
  > B C Z
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   392
  > EOS
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   393
  $ hg rebase -r D+F -d Z
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   394
  rebasing 3:004dc1679908 "D" (D)
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   395
  rebasing 5:4be4cbf6f206 "F" (F tip)
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35394
diff changeset
   396
  saved backup bundle to $TESTTMP/chosen-merge-base1/.hg/strip-backup/004dc1679908-06a66a3c-rebase.hg
33807
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   397
  $ hg manifest -r 'desc(F)'
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   398
  C
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   399
  D
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   400
  E
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   401
  Z
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   402
  $ hg log -r `hg log -r 'desc(F)' -T '{p1node}'` -T '{desc}\n'
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   403
  D
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   404
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   405
  $ hg init $TESTTMP/chosen-merge-base2
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   406
  $ cd $TESTTMP/chosen-merge-base2
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   407
  $ hg debugdrawdag <<'EOS'
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   408
  >   F
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   409
  >  /|
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   410
  > D E
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   411
  > | |
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   412
  > B C Z
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   413
  > EOS
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   414
  $ hg rebase -r E+F -d Z
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   415
  rebasing 4:974e4943c210 "E" (E)
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   416
  rebasing 5:4be4cbf6f206 "F" (F tip)
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35394
diff changeset
   417
  saved backup bundle to $TESTTMP/chosen-merge-base2/.hg/strip-backup/974e4943c210-b2874da5-rebase.hg
33807
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   418
  $ hg manifest -r 'desc(F)'
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   419
  B
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   420
  D
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   421
  E
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   422
  Z
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   423
  $ hg log -r `hg log -r 'desc(F)' -T '{p1node}'` -T '{desc}\n'
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33332
diff changeset
   424
  E