tests/test-rebase-newancestor.t
author Pierre-Yves David <pierre-yves.david@fb.com>
Tue, 23 Dec 2014 15:30:38 -0800
changeset 23702 c48924787eaa
parent 23518 2fb0504b8175
child 23748 4ab66de46a96
permissions -rw-r--r--
filectx.parents: enforce changeid of parent to be in own changectx ancestors Because of the way filenodes are computed, you can have multiple changesets "introducing" the same file revision. For example, in the changeset graph below, changeset 2 and 3 both change a file -to- and -from- the same content. o 3: content = new | | o 2: content = new |/ o 1: content = old In such cases, the file revision is create once, when 2 is added, and just reused for 3. So the file change in '3' (from "old" to "new)" has no linkrev pointing to it). We'll call this situation "linkrev-shadowing". As the linkrev is used for optimization purposes when walking a file history, the linkrev-shadowing results in an unexpected jump to another branch during such a walk.. This leads to multiple bugs with log, annotate and rename detection. One element to fix such bugs is to ensure that walking the file history sticks on the same topology as the changeset's history. For this purpose, we extend the logic in 'basefilectx.parents' so that it always defines the proper changeset to associate the parent file revision with. This "proper" changeset has to be an ancestor of the changeset associated with the child file revision. This logic is performed in the '_adjustlinkrev' function. This function is given the starting changeset and all the information regarding the parent file revision. If the linkrev for the file revision is an ancestor of the starting changeset, the linkrev is valid and will be used. If it is not, we detected a topological jump caused by linkrev shadowing, we are going to walk the ancestors of the starting changeset until we find one setting the file to the revision we are trying to create. The performance impact appears acceptable: - We are walking the changelog once for each filelog traversal (as there should be no overlap between searches), - changelog traversal itself is fairly cheap, compared to what is likely going to be perform on the result on the filelog traversal, - We only touch the manifest for ancestors touching the file, And such changesets are likely to be the one introducing the file. (except in pathological cases involving merge), - We use manifest diff instead of full manifest unpacking to check manifest content, so it does not involve applying multiple diffs in most case. - linkrev shadowing is not the common case. Tests for fixed issues in log, annotate and rename detection have been added. But this changeset does not solve all problems. It fixes -ancestry- computation, but if the linkrev-shadowed changesets is the starting one, we'll still get things wrong. We'll have to fix the bootstrapping of such operations in a later changeset. Also, the usage of `hg log FILE` without --follow still has issues with linkrev pointing to hidden changesets, because it relies on the `filelog` revset which implement its own traversal logic that is still to be fixed. Thanks goes to: - Matt Mackall: for nudging me in the right direction - Julien Cristau and RĂ©mi Cardona: for keep telling me linkrev bug were an evolution show stopper for 3 years. - Durham Goode: for finding a new linkrev issue every few weeks - Mads Kiilerich: for that last rename bug who raise this topic over my anoyance limit.
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=
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     4
  > 
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     5
  > [alias]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     6
  > tglog = log -G --template "{rev}: '{desc}' {branches}\n"
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
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    32
  @  3: 'AD'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    33
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    34
  | o  2: 'C'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    35
  | |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    36
  | o  1: 'B'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    37
  |/
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    38
  o  0: 'A'
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
23516
328afbad6e57 tests: make 'saved backup' globbing less narrow in rebase tests
Mads Kiilerich <madski@unity3d.com>
parents: 23426
diff changeset
    45
  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/0f4f7cb4f549-backup.hg (glob)
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
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16913
diff changeset
    48
  o  3: 'C'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    49
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    50
  o  2: 'B'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    51
  |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16913
diff changeset
    52
  @  1: 'AD'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    53
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    54
  o  0: 'A'
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
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   109
  @  7: '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
   110
  |
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   111
  | o  6: 'dev: merge default' dev
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   112
  |/|
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   113
  o |  5: '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
   114
  | |
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   115
  | o  4: 'dev: merge default' dev
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   116
  |/|
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   117
  o |  3: '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
   118
  | |
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   119
  | o  2: 'dev: f-dev stuff' dev
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   120
  | |
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   121
  | o  1: 'dev: create branch' dev
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   122
  |/
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   123
  o  0: '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
   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
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   129
  $ hg rebase -r 'only(dev,default)' -d default
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   130
  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
   131
  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
   132
  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
   133
  rebasing 4:4b019212aaf6 "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
   134
  remote changed f-default which local deleted
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   135
  use (c)hanged version or leave (d)eleted? c
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   136
  rebasing 6:9455ee510502 "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
   137
  saved backup bundle to $TESTTMP/ancestor-merge/.hg/strip-backup/1d1a643d390e-backup.hg (glob)
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   138
  $ hg tglog
23426
19ebd2f88fc7 merge with stable
Matt Mackall <mpm@selenic.com>
parents: 23408
diff changeset
   139
  o  6: 'dev: merge default'
19ebd2f88fc7 merge with stable
Matt Mackall <mpm@selenic.com>
parents: 23408
diff changeset
   140
  |
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   141
  o  5: '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
   142
  |
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   143
  o  4: '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
   144
  |
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   145
  @  3: '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
   146
  |
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   147
  o  2: '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
   148
  |
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   149
  o  1: '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
   150
  |
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   151
  o  0: '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
   152
  
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   153
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
   154
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   155
  $ 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
   156
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   157
  $ hg phase -fdr0:
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   158
  $ hg rebase -r 'children(only(dev,default))' -d default
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   159
  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
   160
  rebasing 4:4b019212aaf6 "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
   161
  remote changed f-default which local deleted
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   162
  use (c)hanged version or leave (d)eleted? c
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   163
  rebasing 6:9455ee510502 "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
   164
  saved backup bundle to $TESTTMP/ancestor-merge-2/.hg/strip-backup/ec2c14fb2984-backup.hg (glob)
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   165
  $ hg tglog
23426
19ebd2f88fc7 merge with stable
Matt Mackall <mpm@selenic.com>
parents: 23408
diff changeset
   166
  o  7: 'dev: merge default'
19ebd2f88fc7 merge with stable
Matt Mackall <mpm@selenic.com>
parents: 23408
diff changeset
   167
  |
23406
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   168
  o  6: '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
   169
  |
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   170
  o  5: '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
   171
  |
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   172
  o  4: '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
   173
  |
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   174
  o  3: '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
   175
  |
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   176
  o  2: '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
   177
  |
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   178
  | o  1: 'dev: create branch' dev
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   179
  |/
65f215ea3e8e tests: add test for rebasing merges with ancestors of the rebase destination
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   180
  o  0: '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
   181
  
23407
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   182
  $ cd ..
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   183
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   184
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   185
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
   186
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   187
  $ hg init parentorder
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   188
  $ cd parentorder
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   189
  $ touch f
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   190
  $ 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
   191
  $ touch change
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   192
  $ 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
   193
  $ touch target
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 target
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   195
  $ 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
   196
  $ touch outside
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   197
  $ 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
   198
  $ 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
   199
  $ 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
   200
  $ hg par
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   201
  changeset:   4:6990226659be
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   202
  tag:         tip
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   203
  parent:      3:f59da8fc0fcf
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   204
  parent:      1:dd40c13f7a6f
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   205
  user:        test
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   206
  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
   207
  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
   208
  
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   209
  $ 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
   210
  $ 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
   211
  $ 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
   212
  $ hg par
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   213
  changeset:   5:a57575f79074
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   214
  tag:         tip
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   215
  parent:      1:dd40c13f7a6f
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   216
  parent:      3:f59da8fc0fcf
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   217
  user:        test
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   218
  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
   219
  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
   220
  
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   221
  $ hg tglog
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   222
  @    5: '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
   223
  |\
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   224
  +---o  4: '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
   225
  | |/
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   226
  | o  3: 'outside'
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   227
  | |
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   228
  +---o  2: 'target'
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   229
  | |
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   230
  o |  1: 'change'
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   231
  |/
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   232
  o  0: 'common'
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   233
  
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   234
  $ 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
   235
  rebasing 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
   236
  saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/6990226659be-backup.hg (glob)
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   237
  $ hg tip
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   238
  changeset:   5:cca50676b1c5
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   239
  tag:         tip
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   240
  parent:      2:a60552eb93fb
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   241
  parent:      3:f59da8fc0fcf
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   242
  user:        test
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   243
  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
   244
  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
   245
  
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   246
  $ 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
   247
  rebasing 4: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
   248
  saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/a57575f79074-backup.hg (glob)
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   249
  $ hg tip
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   250
  changeset:   5:f9daf77ffe76
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   251
  tag:         tip
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   252
  parent:      2:a60552eb93fb
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   253
  parent:      3:f59da8fc0fcf
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   254
  user:        test
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   255
  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
   256
  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
   257
  
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   258
  $ hg tglog
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   259
  @    5: '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
   260
  |\
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   261
  +---o  4: '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
   262
  | |/
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   263
  | o  3: 'outside'
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   264
  | |
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   265
  o |  2: 'target'
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   266
  | |
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   267
  o |  1: 'change'
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   268
  |/
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   269
  o  0: 'common'
06b6867d853f tests: test coverage of parent order with p1 outside rebase set
Mads Kiilerich <madski@unity3d.com>
parents: 23406
diff changeset
   270
  
23408
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   271
rebase of merge of ancestors
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   272
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   273
  $ hg up -qr 2
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   274
  $ hg merge -qr 3
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   275
  $ 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
   276
  $ hg ci -Aqm 'merge rebase ancestors'
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   277
  $ hg rebase -d 5 -v
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   278
  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
   279
  resolving manifests
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   280
  removing other
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   281
  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
   282
  
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   283
  calculating bids for ancestor a60552eb93fb
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   284
  resolving manifests
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   285
  
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   286
  calculating bids for ancestor f59da8fc0fcf
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   287
  resolving manifests
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   288
  
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   289
  auction for merging merge bids
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   290
   other: consensus for g
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   291
  end of auction
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
  getting other
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   294
  other
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   295
  rebase merging completed
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   296
  1 changesets found
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   297
  saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/4c5f12f25ebe-backup.hg (glob)
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   298
  1 changesets found
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   299
  adding branch
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   300
  adding changesets
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   301
  adding manifests
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   302
  adding file changes
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   303
  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
   304
  rebase completed
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   305
  $ hg tglog
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   306
  @  6: 'merge rebase ancestors'
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   307
  |
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   308
  o    5: 'merge p1 1=ancestor p2 3=outside'
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   309
  |\
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   310
  +---o  4: 'merge p1 3=outside p2 1=ancestor'
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   311
  | |/
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   312
  | o  3: 'outside'
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   313
  | |
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   314
  o |  2: 'target'
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   315
  | |
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   316
  o |  1: 'change'
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   317
  |/
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   318
  o  0: 'common'
36dcd3db70ab tests: test rebase of merge of target ancestors
Mads Kiilerich <madski@unity3d.com>
parents: 23407
diff changeset
   319