tests/test-rebase-named-branches.t
author Mads Kiilerich <mads@kiilerich.com>
Mon, 07 Nov 2011 03:25:10 +0100
changeset 15447 9910f60a37ee
parent 14124 81ecc951f57b
child 15615 41885892796e
permissions -rw-r--r--
tests: make (glob) on windows accept \ instead of / Globbing is usually used for filenames, so on windows it is reasonable and very convenient that glob patterns accepts '\' or '/' when the pattern specifies '/'.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13733
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
     1
  $ cat >> $HGRCPATH <<EOF
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
     2
  > [extensions]
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
     3
  > graphlog=
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
     4
  > rebase=
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
     5
  > 
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
     6
  > [alias]
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
     7
  > tglog = log -G --template "{rev}: '{desc}' {branches}\n"
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
     8
  > EOF
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
     9
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    10
  $ hg init a
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    11
  $ cd a
14118
7fd8e597f99c tests: introduce a rebase bundle to use with rebase tests
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13733
diff changeset
    12
  $ hg unbundle $TESTDIR/bundles/rebase.hg
7fd8e597f99c tests: introduce a rebase bundle to use with rebase tests
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13733
diff changeset
    13
  adding changesets
7fd8e597f99c tests: introduce a rebase bundle to use with rebase tests
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13733
diff changeset
    14
  adding manifests
7fd8e597f99c tests: introduce a rebase bundle to use with rebase tests
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13733
diff changeset
    15
  adding file changes
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    16
  added 8 changesets with 7 changes to 7 files (+2 heads)
14118
7fd8e597f99c tests: introduce a rebase bundle to use with rebase tests
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13733
diff changeset
    17
  (run 'hg heads' to see heads, 'hg merge' to merge)
7fd8e597f99c tests: introduce a rebase bundle to use with rebase tests
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13733
diff changeset
    18
  $ hg up tip
7fd8e597f99c tests: introduce a rebase bundle to use with rebase tests
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13733
diff changeset
    19
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
13733
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    20
  $ cd ..
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    21
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    22
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    23
Rebasing descendant onto ancestor across different named branches
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    24
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    25
  $ hg clone -q -u . a a1
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    26
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    27
  $ cd a1
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    28
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    29
  $ hg branch dev
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    30
  marked working directory as branch dev
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    31
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    32
  $ echo x > x
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    33
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    34
  $ hg add x
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    35
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    36
  $ hg ci -m 'extra named branch'
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    37
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    38
  $ hg tglog
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    39
  @  8: 'extra named branch' dev
13733
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    40
  |
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    41
  o  7: 'H'
13733
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    42
  |
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    43
  | o  6: 'G'
13733
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    44
  |/|
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    45
  o |  5: 'F'
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    46
  | |
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    47
  | o  4: 'E'
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    48
  |/
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    49
  | o  3: 'D'
13733
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    50
  | |
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    51
  | o  2: 'C'
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    52
  | |
13733
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    53
  | o  1: 'B'
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    54
  |/
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    55
  o  0: 'A'
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    56
  
14120
d7f80dbbaf49 tests: simplify test-rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14119
diff changeset
    57
d7f80dbbaf49 tests: simplify test-rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14119
diff changeset
    58
14124
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    59
  $ hg rebase -s 1 -d 8 --keepbranches
13733
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    60
  saved backup bundle to $TESTTMP/a1/.hg/strip-backup/*-backup.hg (glob)
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    61
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    62
  $ hg tglog
14124
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    63
  @  8: 'D'
13733
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    64
  |
14124
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    65
  o  7: 'C'
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    66
  |
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    67
  o  6: 'B'
13733
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    68
  |
14124
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    69
  o  5: 'extra named branch' dev
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    70
  |
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    71
  o  4: 'H'
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    72
  |
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    73
  | o  3: 'G'
13733
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    74
  |/|
14124
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    75
  o |  2: 'F'
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    76
  | |
14124
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    77
  | o  1: 'E'
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    78
  |/
14124
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    79
  o  0: 'A'
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    80
  
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    81
  $ hg rebase -s 4 -d 5
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    82
  abort: source is ancestor of destination
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    83
  [255]
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    84
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    85
  $ hg rebase -s 5 -d 4
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    86
  saved backup bundle to $TESTTMP/a1/.hg/strip-backup/*-backup.hg (glob)
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    87
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    88
  $ hg tglog
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    89
  @  8: 'D'
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    90
  |
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    91
  o  7: 'C'
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    92
  |
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    93
  o  6: 'B'
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    94
  |
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    95
  o  5: 'extra named branch'
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    96
  |
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    97
  o  4: 'H'
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    98
  |
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
    99
  | o  3: 'G'
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
   100
  |/|
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
   101
  o |  2: 'F'
13733
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   102
  | |
14124
81ecc951f57b tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14123
diff changeset
   103
  | o  1: 'E'
13733
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   104
  |/
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   105
  o  0: 'A'
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   106
  
4e2690a764c1 rebase: allow for rebasing descendants onto ancestors on different named branches
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   107
  $ cd ..