--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-rebase-detach.t Fri Oct 01 16:10:06 2010 +0200
@@ -0,0 +1,193 @@
+ $ cat >> $HGRCPATH <<EOF
+ > [extensions]
+ > graphlog=
+ > rebase=
+ >
+ > [alias]
+ > tglog = log -G --template "{rev}: '{desc}' {branches}\n"
+ > EOF
+
+
+ $ hg init a
+ $ cd a
+
+ $ echo A > A
+ $ hg ci -Am A
+ adding A
+
+ $ echo B > B
+ $ hg ci -Am B
+ adding B
+
+ $ echo C > C
+ $ hg ci -Am C
+ adding C
+
+ $ echo D > D
+ $ hg ci -Am D
+ adding D
+
+ $ hg up -q -C 0
+
+ $ echo E > E
+ $ hg ci -Am E
+ adding E
+ created new head
+
+ $ cd ..
+
+
+Rebasing D onto E detaching from C:
+
+ $ hg clone -q -u . a a1
+ $ cd a1
+
+ $ hg tglog
+ @ 4: 'E'
+ |
+ | o 3: 'D'
+ | |
+ | o 2: 'C'
+ | |
+ | o 1: 'B'
+ |/
+ o 0: 'A'
+
+ $ hg rebase --detach -s 3 -d 4
+ saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
+
+ $ hg tglog
+ @ 4: 'D'
+ |
+ o 3: 'E'
+ |
+ | o 2: 'C'
+ | |
+ | o 1: 'B'
+ |/
+ o 0: 'A'
+
+ $ hg manifest
+ A
+ D
+ E
+
+ $ cd ..
+
+
+Rebasing C onto E detaching from B:
+
+ $ hg clone -q -u . a a2
+ $ cd a2
+
+ $ hg tglog
+ @ 4: 'E'
+ |
+ | o 3: 'D'
+ | |
+ | o 2: 'C'
+ | |
+ | o 1: 'B'
+ |/
+ o 0: 'A'
+
+ $ hg rebase --detach -s 2 -d 4
+ saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
+
+ $ hg tglog
+ @ 4: 'D'
+ |
+ o 3: 'C'
+ |
+ o 2: 'E'
+ |
+ | o 1: 'B'
+ |/
+ o 0: 'A'
+
+ $ hg manifest
+ A
+ C
+ D
+ E
+
+ $ cd ..
+
+
+Rebasing B onto E using detach (same as not using it):
+
+ $ hg clone -q -u . a a3
+ $ cd a3
+
+ $ hg tglog
+ @ 4: 'E'
+ |
+ | o 3: 'D'
+ | |
+ | o 2: 'C'
+ | |
+ | o 1: 'B'
+ |/
+ o 0: 'A'
+
+ $ hg rebase --detach -s 1 -d 4
+ saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
+
+ $ hg tglog
+ @ 4: 'D'
+ |
+ o 3: 'C'
+ |
+ o 2: 'B'
+ |
+ o 1: 'E'
+ |
+ o 0: 'A'
+
+ $ hg manifest
+ A
+ B
+ C
+ D
+ E
+
+ $ cd ..
+
+
+Rebasing C onto E detaching from B and collapsing:
+
+ $ hg clone -q -u . a a4
+ $ cd a4
+
+ $ hg tglog
+ @ 4: 'E'
+ |
+ | o 3: 'D'
+ | |
+ | o 2: 'C'
+ | |
+ | o 1: 'B'
+ |/
+ o 0: 'A'
+
+ $ hg rebase --detach --collapse -s 2 -d 4
+ saved backup bundle to */.hg/strip-backup/*-backup.hg (glob)
+
+ $ hg tglog
+ @ 3: 'Collapsed revision
+ | * C
+ | * D'
+ o 2: 'E'
+ |
+ | o 1: 'B'
+ |/
+ o 0: 'A'
+
+ $ hg manifest
+ A
+ C
+ D
+ E
+
+ $ cd ..
+