tests/test-rebase-parameters.t
changeset 12608 16b854cb80f1
parent 11208 2313dc4d9817
child 12640 6cc4b14fb76b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-rebase-parameters.t	Fri Oct 01 16:10:06 2010 +0200
@@ -0,0 +1,332 @@
+  $ cat >> $HGRCPATH <<EOF
+  > [extensions]
+  > graphlog=
+  > rebase=
+  > 
+  > [alias]
+  > tglog = log -G --template "{rev}: '{desc}' {branches}\n"
+  > EOF
+
+
+  $ hg init a
+  $ cd a
+
+  $ echo c1 > c1
+  $ hg ci -Am c1
+  adding c1
+
+  $ echo c2 > c2
+  $ hg ci -Am c2
+  adding c2
+
+  $ echo c3 > c3
+  $ hg ci -Am c3
+  adding c3
+
+  $ hg up -q -C 1
+
+  $ echo l1 > l1
+  $ hg ci -Am l1
+  adding l1
+  created new head
+
+  $ echo l2 > l2
+  $ hg ci -Am l2
+  adding l2
+
+  $ echo l3 > l3
+  $ hg ci -Am l3
+  adding l3
+
+  $ hg up -q -C 2
+
+  $ echo r1 > r1
+  $ hg ci -Am r1
+  adding r1
+
+  $ echo r2 > r2
+  $ hg ci -Am r2
+  adding r2
+
+  $ hg tglog
+  @  7: 'r2'
+  |
+  o  6: 'r1'
+  |
+  | o  5: 'l3'
+  | |
+  | o  4: 'l2'
+  | |
+  | o  3: 'l1'
+  | |
+  o |  2: 'c3'
+  |/
+  o  1: 'c2'
+  |
+  o  0: 'c1'
+  
+  $ cd ..
+
+
+These fail:
+
+  $ hg clone -q -u . a a1
+  $ cd a1
+
+  $ hg rebase --continue --abort
+  abort: cannot use both abort and continue
+  [255]
+
+  $ hg rebase --continue --collapse
+  abort: cannot use collapse with continue or abort
+  [255]
+
+  $ hg rebase --continue --dest 4
+  abort: abort and continue do not allow specifying revisions
+  [255]
+
+  $ hg rebase --base 5 --source 4
+  abort: cannot specify both a revision and a base
+  [255]
+
+  $ hg rebase
+  nothing to rebase
+  [1]
+
+  $ hg up -q 6
+
+  $ hg rebase
+  nothing to rebase
+  [1]
+
+
+These work:
+
+Rebase with no arguments (from 3 onto 7):
+
+  $ hg up -q -C 5
+
+  $ hg rebase
+  saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
+
+  $ hg tglog
+  @  7: 'l3'
+  |
+  o  6: 'l2'
+  |
+  o  5: 'l1'
+  |
+  o  4: 'r2'
+  |
+  o  3: 'r1'
+  |
+  o  2: 'c3'
+  |
+  o  1: 'c2'
+  |
+  o  0: 'c1'
+  
+Try to rollback after a rebase (fail):
+
+  $ hg rollback
+  no rollback information available
+  [1]
+
+  $ cd ..
+
+
+Rebase with base == '.' => same as no arguments (from 3 onto 7):
+
+  $ hg clone -q -u 5 a a2
+  $ cd a2
+
+  $ hg rebase --base .
+  saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
+
+  $ hg tglog
+  @  7: 'l3'
+  |
+  o  6: 'l2'
+  |
+  o  5: 'l1'
+  |
+  o  4: 'r2'
+  |
+  o  3: 'r1'
+  |
+  o  2: 'c3'
+  |
+  o  1: 'c2'
+  |
+  o  0: 'c1'
+  
+  $ cd ..
+
+
+Rebase with dest == `hg branch` => same as no arguments (from 3 onto 7):
+
+  $ hg clone -q -u 5 a a3
+  $ cd a3
+
+  $ hg rebase --dest `hg branch`
+  saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
+
+  $ hg tglog
+  @  7: 'l3'
+  |
+  o  6: 'l2'
+  |
+  o  5: 'l1'
+  |
+  o  4: 'r2'
+  |
+  o  3: 'r1'
+  |
+  o  2: 'c3'
+  |
+  o  1: 'c2'
+  |
+  o  0: 'c1'
+  
+  $ cd ..
+
+
+Specify only source (from 4 onto 7):
+
+  $ hg clone -q -u . a a4
+  $ cd a4
+
+  $ hg rebase --source 4
+  saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
+
+  $ hg tglog
+  @  7: 'l3'
+  |
+  o    6: 'l2'
+  |\
+  | o  5: 'r2'
+  | |
+  | o  4: 'r1'
+  | |
+  o |  3: 'l1'
+  | |
+  | o  2: 'c3'
+  |/
+  o  1: 'c2'
+  |
+  o  0: 'c1'
+  
+  $ cd ..
+
+
+Specify only dest (from 3 onto 6):
+
+  $ hg clone -q -u 5 a a5
+  $ cd a5
+
+  $ hg rebase --dest 6
+  saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
+
+  $ hg tglog
+  @  7: 'l3'
+  |
+  o  6: 'l2'
+  |
+  o  5: 'l1'
+  |
+  | o  4: 'r2'
+  |/
+  o  3: 'r1'
+  |
+  o  2: 'c3'
+  |
+  o  1: 'c2'
+  |
+  o  0: 'c1'
+  
+  $ cd ..
+
+
+Specify only base (from 3 onto 7):
+
+  $ hg clone -q -u . a a6
+  $ cd a6
+
+  $ hg rebase --base 5
+  saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
+
+  $ hg tglog
+  @  7: 'l3'
+  |
+  o  6: 'l2'
+  |
+  o  5: 'l1'
+  |
+  o  4: 'r2'
+  |
+  o  3: 'r1'
+  |
+  o  2: 'c3'
+  |
+  o  1: 'c2'
+  |
+  o  0: 'c1'
+  
+  $ cd ..
+
+
+Specify source and dest (from 4 onto 6):
+
+  $ hg clone -q -u . a a7
+  $ cd a7
+
+  $ hg rebase --source 4 --dest 6
+  saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
+
+  $ hg tglog
+  @  7: 'l3'
+  |
+  o    6: 'l2'
+  |\
+  | | o  5: 'r2'
+  | |/
+  | o  4: 'r1'
+  | |
+  o |  3: 'l1'
+  | |
+  | o  2: 'c3'
+  |/
+  o  1: 'c2'
+  |
+  o  0: 'c1'
+  
+  $ cd ..
+
+
+Specify base and dest (from 3 onto 6):
+
+  $ hg clone -q -u . a a8
+  $ cd a8
+
+  $ hg rebase --base 4 --dest 6
+  saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
+
+  $ hg tglog
+  @  7: 'l3'
+  |
+  o  6: 'l2'
+  |
+  o  5: 'l1'
+  |
+  | o  4: 'r2'
+  |/
+  o  3: 'r1'
+  |
+  o  2: 'c3'
+  |
+  o  1: 'c2'
+  |
+  o  0: 'c1'
+  
+  $ cd ..
+