--- a/hgext/rebase.py Sat Oct 15 14:19:07 2011 -0500
+++ b/hgext/rebase.py Sat Oct 15 14:19:24 2011 -0500
@@ -198,6 +198,15 @@
if not rebaseset:
repo.ui.debug('base is ancestor of destination')
result = None
+ elif not keepf and list(repo.set('first(children(%ld) - %ld)',
+ rebaseset, rebaseset)):
+ raise util.Abort(
+ _("can't remove original changesets with"
+ " unrebased descendants"),
+ hint=_('use --keep to keep original changesets'))
+ else:
+ result = buildstate(repo, dest, rebaseset, detachf)
+
if not result:
# Empty state built, nothing to rebase
ui.status(_('nothing to rebase\n'))