tests/test-topic-dest.t
author Pierre-Yves David <pierre-yves.david@fb.com>
Sun, 13 Mar 2016 13:07:54 +0000
changeset 1891 077c40f206d1
parent 1885 d49f75eab6a3
child 1892 b1fadc089b82
permissions -rw-r--r--
rebase: test default rebase destination behavior In future mercurial 3.8, rebase and merge share the same destination logic. So if merge work, rebase should work as well. However, we double test it to be sure. Especially, in 3.7 the logic is not shared so we have to introduce an extra hack to share it in this case.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1870
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     1
  $ . "$TESTDIR/testlib"
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     2
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     3
  $ hg init jungle
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     4
  $ cd jungle
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     5
  $ cat <<EOF >> .hg/hgrc
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     6
  > [extensions]
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     7
  > rebase=
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     8
  > [phases]
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     9
  > publish=false
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    10
  > [ui]
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    11
  > logtemplate = '{rev} ({topics}) {desc}\n'
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    12
  > EOF
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    13
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    14
  $ for x in alpha beta gamma delta ; do
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    15
  >   echo file $x >> $x
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    16
  >   hg add $x
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    17
  >   hg ci -m "c_$x"
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    18
  > done
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    19
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    20
Test NGTip feature
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    21
==================
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    22
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    23
Simple linear case
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    24
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    25
  $ echo babar >> jungle
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    26
  $ hg add jungle
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    27
  $ hg ci -t elephant -m babar
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    28
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    29
  $ hg log -G
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    30
  @  4 (elephant) babar
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    31
  |
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    32
  o  3 () c_delta
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    33
  |
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    34
  o  2 () c_gamma
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    35
  |
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    36
  o  1 () c_beta
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    37
  |
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    38
  o  0 () c_alpha
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    39
  
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    40
  $ hg log -r 'ngtip(.)'
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    41
  3 () c_delta
1885
d49f75eab6a3 topic: take topic in account for all branch head computation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1875
diff changeset
    42
  $ hg log -r 'default'
d49f75eab6a3 topic: take topic in account for all branch head computation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1875
diff changeset
    43
  3 () c_delta
1870
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    44
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    45
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    46
multiple heads with topic
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    47
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    48
  $ hg up "desc('c_beta')"
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    49
  0 files updated, 0 files merged, 3 files removed, 0 files unresolved
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    50
  $ echo zephir >> jungle
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    51
  $ hg add jungle
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    52
  $ hg ci -t monkey -m zephir
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    53
  created new head
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    54
  $ hg log -G
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    55
  @  5 (monkey) zephir
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    56
  |
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    57
  | o  4 (elephant) babar
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    58
  | |
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    59
  | o  3 () c_delta
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    60
  | |
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    61
  | o  2 () c_gamma
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    62
  |/
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    63
  o  1 () c_beta
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    64
  |
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    65
  o  0 () c_alpha
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    66
  
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    67
  $ hg log -r 'ngtip(.)'
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    68
  3 () c_delta
1885
d49f75eab6a3 topic: take topic in account for all branch head computation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1875
diff changeset
    69
  $ hg log -r 'default'
d49f75eab6a3 topic: take topic in account for all branch head computation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1875
diff changeset
    70
  3 () c_delta
1870
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    71
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    72
one of the head is a valid tip
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    73
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    74
  $ hg up "desc('c_delta')"
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    75
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    76
  $ echo epsilon >> epsilon
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    77
  $ hg add epsilon
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    78
  $ hg ci -m "c_epsilon"
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    79
  $ hg log -G
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    80
  @  6 () c_epsilon
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    81
  |
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    82
  | o  5 (monkey) zephir
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    83
  | |
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    84
  +---o  4 (elephant) babar
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    85
  | |
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    86
  o |  3 () c_delta
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    87
  | |
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    88
  o |  2 () c_gamma
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    89
  |/
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    90
  o  1 () c_beta
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    91
  |
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    92
  o  0 () c_alpha
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    93
  
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    94
  $ hg log -r 'ngtip(.)'
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    95
  6 () c_epsilon
1885
d49f75eab6a3 topic: take topic in account for all branch head computation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1875
diff changeset
    96
  $ hg log -r 'default'
d49f75eab6a3 topic: take topic in account for all branch head computation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1875
diff changeset
    97
  6 () c_epsilon
1870
8dd5200b4086 topic: introduce a 'ngtip' concept
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    98
1891
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
    99
rebase destination
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   100
==================
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   101
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   102
rebase on branch ngtip
1871
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   103
1891
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   104
  $ hg up elephant
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   105
  switching to topic elephant
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   106
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   107
  $ hg rebase
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   108
  rebasing 4:cb7ae72f4a80 "babar"
1871
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   109
  $ hg log -G
1891
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   110
  @  7 (elephant) babar
1871
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   111
  |
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   112
  o  6 () c_epsilon
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   113
  |
1875
9eba8561870b test-topic-dest: test fixes I should have put in the previous change
Augie Fackler <raf@durin42.com>
parents: 1871
diff changeset
   114
  | o  5 (monkey) zephir
9eba8561870b test-topic-dest: test fixes I should have put in the previous change
Augie Fackler <raf@durin42.com>
parents: 1871
diff changeset
   115
  | |
9eba8561870b test-topic-dest: test fixes I should have put in the previous change
Augie Fackler <raf@durin42.com>
parents: 1871
diff changeset
   116
  o |  3 () c_delta
9eba8561870b test-topic-dest: test fixes I should have put in the previous change
Augie Fackler <raf@durin42.com>
parents: 1871
diff changeset
   117
  | |
9eba8561870b test-topic-dest: test fixes I should have put in the previous change
Augie Fackler <raf@durin42.com>
parents: 1871
diff changeset
   118
  o |  2 () c_gamma
9eba8561870b test-topic-dest: test fixes I should have put in the previous change
Augie Fackler <raf@durin42.com>
parents: 1871
diff changeset
   119
  |/
1871
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   120
  o  1 () c_beta
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   121
  |
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   122
  o  0 () c_alpha
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   123
  
1891
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   124
  $ hg up monkey
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   125
  switching to topic monkey
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   126
  1 files updated, 0 files merged, 3 files removed, 0 files unresolved
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   127
  $ hg rebase
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   128
  rebasing 5:d832ddc604ec "zephir"
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   129
  $ hg log -G
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   130
  @  8 (monkey) zephir
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   131
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   132
  | o  7 (elephant) babar
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   133
  |/
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   134
  o  6 () c_epsilon
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   135
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   136
  o  3 () c_delta
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   137
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   138
  o  2 () c_gamma
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   139
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   140
  o  1 () c_beta
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   141
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   142
  o  0 () c_alpha
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   143
  
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   144
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   145
Rebase on other topic heads if any
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   146
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   147
  $ hg up 'desc(c_delta)'
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   148
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   149
  $ echo "General Huc" >> monkeyville
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   150
  $ hg add monkeyville
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   151
  $ hg ci -t monkey -m Huc
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   152
  created new head
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   153
  $ hg log -G
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   154
  @  9 (monkey) Huc
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   155
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   156
  | o  8 (monkey) zephir
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   157
  | |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   158
  | | o  7 (elephant) babar
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   159
  | |/
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   160
  | o  6 () c_epsilon
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   161
  |/
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   162
  o  3 () c_delta
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   163
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   164
  o  2 () c_gamma
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   165
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   166
  o  1 () c_beta
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   167
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   168
  o  0 () c_alpha
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   169
  
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   170
  $ hg rebase
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   171
  rebasing 9:d79a104e2902 "Huc" (tip)
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   172
  $ hg log -G
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   173
  @  10 (monkey) Huc
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   174
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   175
  o  8 (monkey) zephir
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   176
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   177
  | o  7 (elephant) babar
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   178
  |/
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   179
  o  6 () c_epsilon
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   180
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   181
  o  3 () c_delta
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   182
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   183
  o  2 () c_gamma
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   184
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   185
  o  1 () c_beta
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   186
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   187
  o  0 () c_alpha
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   188
  
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   189
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   190
merge destination
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   191
=================
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   192
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   193
  $ hg up 'ngtip(default)'
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   194
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   195
  $ hg up default
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   196
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   197
  $ echo zeta >> zeta
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   198
  $ hg add zeta
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   199
  $ hg ci -m "c_zeta"
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   200
  $ hg log -G
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   201
  @  11 () c_zeta
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   202
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   203
  | o  10 (monkey) Huc
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   204
  | |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   205
  | o  8 (monkey) zephir
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   206
  |/
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   207
  | o  7 (elephant) babar
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   208
  |/
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   209
  o  6 () c_epsilon
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   210
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   211
  o  3 () c_delta
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   212
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   213
  o  2 () c_gamma
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   214
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   215
  o  1 () c_beta
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   216
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   217
  o  0 () c_alpha
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   218
  
1871
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   219
  $ hg up elephant
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   220
  switching to topic elephant
1891
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   221
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   222
  $ hg rebase -d 'desc(c_zeta)' # make sure tip is elsewhere
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   223
  rebasing 7:8d0b77140b05 "babar"
1871
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   224
  $ hg up monkey
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   225
  switching to topic monkey
1891
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   226
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
1871
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   227
  $ hg merge
1891
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   228
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1871
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   229
  (branch merge, don't forget to commit)
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   230
  $ hg topic
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   231
     elephant
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   232
   * monkey
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   233
  $ hg ci -m 'merge with default'
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   234
  $ hg topic
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   235
     elephant
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   236
   * monkey
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   237
  $ hg log -G
1891
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   238
  @    13 (monkey) merge with default
1871
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   239
  |\
1891
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   240
  | | o  12 (elephant) babar
1871
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   241
  | |/
1891
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   242
  | o  11 () c_zeta
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   243
  | |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   244
  o |  10 (monkey) Huc
1871
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   245
  | |
1891
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   246
  o |  8 (monkey) zephir
1871
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   247
  |/
1891
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   248
  o  6 () c_epsilon
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   249
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   250
  o  3 () c_delta
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   251
  |
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   252
  o  2 () c_gamma
077c40f206d1 rebase: test default rebase destination behavior
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1885
diff changeset
   253
  |
1871
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   254
  o  1 () c_beta
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   255
  |
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   256
  o  0 () c_alpha
58ef5699fb35 merge: use topic to pick default destination
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1870
diff changeset
   257