tests/test-rebase-named-branches.t
author Nicolas Dumazet <nicdumz.commits@gmail.com>
Sat, 30 Apr 2011 17:38:06 +0200
changeset 14119 624e5ce615ec
parent 14118 7fd8e597f99c
child 14120 d7f80dbbaf49
permissions -rw-r--r--
tests: upgrade bundles/rebase.hg to support test-rebase-collapse Add two changesets to the scenario so that the bundle can be reused within three tests. Before: @ 5: 'F' | | o 4: 'E' |/| o | 3: 'D | | | o 2: 'C' |/ | o 1: 'B' |/ o 0: 'A' After: @ 7: 'H' | | o 6: 'G' |/| o | 5: 'F' | | | o 4: 'E' |/ | o 3: 'D' | | | o 2: 'C' | | | o 1: 'B' |/ o 0: 'A' Revisions 0-1 keep the same number/label. Others were translated by an offset of 2 (2.C -> 4.E)

  $ cat >> $HGRCPATH <<EOF
  > [extensions]
  > graphlog=
  > rebase=
  > 
  > [alias]
  > tglog = log -G --template "{rev}: '{desc}' {branches}\n"
  > EOF

  $ hg init a
  $ cd a
  $ hg unbundle $TESTDIR/bundles/rebase.hg
  adding changesets
  adding manifests
  adding file changes
  added 8 changesets with 7 changes to 7 files (+2 heads)
  (run 'hg heads' to see heads, 'hg merge' to merge)
  $ hg up tip
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ cd ..


Rebasing descendant onto ancestor across different named branches

  $ hg clone -q -u . a a1

  $ cd a1

  $ hg branch dev
  marked working directory as branch dev

  $ echo x > x

  $ hg add x

  $ hg ci -m 'extra named branch'

  $ hg tglog
  @  8: 'extra named branch' dev
  |
  o  7: 'H'
  |
  | o  6: 'G'
  |/|
  o |  5: 'F'
  | |
  | o  4: 'E'
  |/
  | o  3: 'D'
  | |
  | o  2: 'C'
  | |
  | o  1: 'B'
  |/
  o  0: 'A'
  
  $ hg rebase -s 8 -d 7
  saved backup bundle to $TESTTMP/a1/.hg/strip-backup/*-backup.hg (glob)

  $ hg tglog
  @  8: 'extra named branch'
  |
  o  7: 'H'
  |
  | o  6: 'G'
  |/|
  o |  5: 'F'
  | |
  | o  4: 'E'
  |/
  | o  3: 'D'
  | |
  | o  2: 'C'
  | |
  | o  1: 'B'
  |/
  o  0: 'A'
  
  $ cd ..
 
Rebasing descendant onto ancestor across the same named branches

  $ hg clone -q -u . a a2

  $ cd a2

  $ echo I > I

  $ hg ci -AmI
  adding I

  $ hg tglog
  @  8: 'I'
  |
  o  7: 'H'
  |
  | o  6: 'G'
  |/|
  o |  5: 'F'
  | |
  | o  4: 'E'
  |/
  | o  3: 'D'
  | |
  | o  2: 'C'
  | |
  | o  1: 'B'
  |/
  o  0: 'A'
  
  $ hg rebase -s 8 -d 7
  abort: source is descendant of destination
  [255]

  $ cd ..
 
Rebasing ancestor onto descendant across different named branches

  $ hg clone -q -u . a a3

  $ cd a3

  $ hg branch dev
  marked working directory as branch dev

  $ echo x > x

  $ hg add x

  $ hg ci -m 'extra named branch'

  $ hg tglog
  @  8: 'extra named branch' dev
  |
  o  7: 'H'
  |
  | o  6: 'G'
  |/|
  o |  5: 'F'
  | |
  | o  4: 'E'
  |/
  | o  3: 'D'
  | |
  | o  2: 'C'
  | |
  | o  1: 'B'
  |/
  o  0: 'A'
  
  $ hg rebase -s 7 -d 8
  abort: source is ancestor of destination
  [255]

  $ cd ..