diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -343,8 +343,7 @@ def rebase(ui, repo, **opts): obsoletenotrebased = {} if ui.configbool('experimental', 'rebaseskipobsolete'): rebasesetrevs = set(rebaseset) - rebaseobsrevs = set(r for r in rebasesetrevs - if repo[r].obsolete()) + rebaseobsrevs = _filterobsoleterevs(repo, rebasesetrevs) obsoletenotrebased = _computeobsoletenotrebased(repo, rebaseobsrevs, dest) @@ -1188,6 +1187,10 @@ def _rebasedvisible(orig, repo): blockers.update(getattr(repo, '_rebaseset', ())) return blockers +def _filterobsoleterevs(repo, revs): + """returns a set of the obsolete revisions in revs""" + return set(r for r in revs if repo[r].obsolete()) + def _computeobsoletenotrebased(repo, rebaseobsrevs, dest): """return a mapping obsolete => successor for all obsolete nodes to be rebased that have a successors in the destination