182 else: |
182 else: |
183 base = scmutil.revrange(repo, [basef or '.']) |
183 base = scmutil.revrange(repo, [basef or '.']) |
184 rebaseset = repo.revs( |
184 rebaseset = repo.revs( |
185 '(children(ancestor(%ld, %d)) and ::(%ld))::', |
185 '(children(ancestor(%ld, %d)) and ::(%ld))::', |
186 base, dest, base) |
186 base, dest, base) |
187 # temporary top level filtering of extinct revisions |
|
188 rebaseset = repo.revs('%ld - hidden()', rebaseset) |
|
189 if rebaseset: |
187 if rebaseset: |
190 root = min(rebaseset) |
188 root = min(rebaseset) |
191 else: |
189 else: |
192 root = None |
190 root = None |
193 |
191 |
194 if not rebaseset: |
192 if not rebaseset: |
195 repo.ui.debug('base is ancestor of destination\n') |
193 repo.ui.debug('base is ancestor of destination\n') |
196 result = None |
194 result = None |
197 elif (not (keepf or obsolete._enabled) |
195 elif (not (keepf or obsolete._enabled) |
198 and repo.revs('first(children(%ld) - %ld)-hidden()', |
196 and repo.revs('first(children(%ld) - %ld)', |
199 rebaseset, rebaseset)): |
197 rebaseset, rebaseset)): |
200 raise util.Abort( |
198 raise util.Abort( |
201 _("can't remove original changesets with" |
199 _("can't remove original changesets with" |
202 " unrebased descendants"), |
200 " unrebased descendants"), |
203 hint=_('use --keep to keep original changesets')) |
201 hint=_('use --keep to keep original changesets')) |