--- a/tests/test-rebase-obsolete.t Tue Sep 18 23:29:05 2012 +0200
+++ b/tests/test-rebase-obsolete.t Tue Sep 18 23:32:42 2012 +0200
@@ -222,3 +222,61 @@
$ cd ..
+Rebase set has hidden descendants
+---------------------------------
+
+We rebase a changeset which has a hidden changeset. The hidden changeset must
+not be rebased.
+
+ $ hg clone base hidden
+ updating to branch default
+ 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ cd hidden
+ $ hg rebase -s 5fddd98957c8 -d eea13746799a
+ $ hg rebase -s 42ccdea3bb16 -d 02de42196ebe
+ $ hg log -G
+ @ 10:7c6027df6a99 B
+ |
+ | o 9:cf44d2f5a9f4 D
+ | |
+ | o 8:e273c5e7d2d2 C
+ | |
+ o | 7:02de42196ebe H
+ | |
+ | o 6:eea13746799a G
+ |/|
+ o | 5:24b6387c8c8c F
+ | |
+ | o 4:9520eea781bc E
+ |/
+ o 0:cd010b8cd998 A
+
+ $ hg log --hidden -G
+ @ 10:7c6027df6a99 B
+ |
+ | o 9:cf44d2f5a9f4 D
+ | |
+ | o 8:e273c5e7d2d2 C
+ | |
+ o | 7:02de42196ebe H
+ | |
+ | o 6:eea13746799a G
+ |/|
+ o | 5:24b6387c8c8c F
+ | |
+ | o 4:9520eea781bc E
+ |/
+ | x 3:32af7686d403 D
+ | |
+ | x 2:5fddd98957c8 C
+ | |
+ | x 1:42ccdea3bb16 B
+ |/
+ o 0:cd010b8cd998 A
+
+ $ hg debugobsolete
+ 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b e273c5e7d2d29df783dce9f9eaa3ac4adc69c15d 0 {'date': '*', 'user': 'test'} (glob)
+ 32af7686d403cf45b5d95f2d70cebea587ac806a cf44d2f5a9f4297a62be94cbdd3dff7c7dc54258 0 {'date': '*', 'user': 'test'} (glob)
+ 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 7c6027df6a99d93f461868e5433f63bde20b6dfb 0 {'date': '*', 'user': 'test'} (glob)
+
+ $ cd ..