tests/test-rebase-conflicts.t
changeset 12608 16b854cb80f1
parent 11208 2313dc4d9817
child 12640 6cc4b14fb76b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-rebase-conflicts.t	Fri Oct 01 16:10:06 2010 +0200
@@ -0,0 +1,115 @@
+  $ cat >> $HGRCPATH <<EOF
+  > [extensions]
+  > graphlog=
+  > rebase=
+  > 
+  > [alias]
+  > tglog = log -G --template "{rev}: '{desc}' {branches}\n"
+  > EOF
+
+  $ hg init a
+  $ cd a
+  $ echo c1 >common
+  $ hg add common
+  $ hg ci -m C1
+
+  $ echo c2 >>common
+  $ hg ci -m C2
+
+  $ echo c3 >>common
+  $ hg ci -m C3
+
+  $ hg up -q -C 1
+
+  $ echo l1 >>extra
+  $ hg add extra
+  $ hg ci -m L1
+  created new head
+
+  $ sed -e 's/c2/l2/' common > common.new
+  $ mv common.new common
+  $ hg ci -m L2
+
+  $ echo l3 >> extra2
+  $ hg add extra2
+  $ hg ci -m L3
+
+  $ hg tglog
+  @  5: 'L3'
+  |
+  o  4: 'L2'
+  |
+  o  3: 'L1'
+  |
+  | o  2: 'C3'
+  |/
+  o  1: 'C2'
+  |
+  o  0: 'C1'
+  
+Try to call --continue:
+
+  $ hg rebase --continue
+  abort: no rebase in progress
+  [255]
+
+Conflicting rebase:
+
+  $ hg rebase -s 3 -d 2
+  merging common
+  warning: conflicts during merge.
+  merging common failed!
+  abort: fix unresolved conflicts with hg resolve then run hg rebase --continue
+  [255]
+
+Try to continue without solving the conflict:
+
+  $ hg rebase --continue 
+  abort: unresolved merge conflicts (see hg resolve)
+  [255]
+
+Conclude rebase:
+
+  $ echo 'resolved merge' >common
+  $ hg resolve -m common
+  $ hg rebase --continue
+  saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
+
+  $ hg tglog
+  @  5: 'L3'
+  |
+  o  4: 'L2'
+  |
+  o  3: 'L1'
+  |
+  o  2: 'C3'
+  |
+  o  1: 'C2'
+  |
+  o  0: 'C1'
+  
+Check correctness:
+
+  $ hg cat -r 0 common
+  c1
+
+  $ hg cat -r 1 common
+  c1
+  c2
+
+  $ hg cat -r 2 common
+  c1
+  c2
+  c3
+
+  $ hg cat -r 3 common
+  c1
+  c2
+  c3
+
+  $ hg cat -r 4 common
+  resolved merge
+
+  $ hg cat -r 5 common
+  resolved merge
+