Mercurial > hg-stable
diff hgext/rebase.py @ 11843:00f8e7837668 stable
rebase: recompute the set of skipped rev when using --continue (issue2330)
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Fri, 13 Aug 2010 18:02:02 +0200 |
parents | 134eb1c97e94 |
children | 1fe94103c6ee |
line wrap: on
line diff
--- a/hgext/rebase.py Sun Jul 25 08:22:03 2010 -0700 +++ b/hgext/rebase.py Fri Aug 13 18:02:02 2010 +0200 @@ -110,7 +110,7 @@ raise util.Abort( _('abort and continue do not allow specifying revisions')) - (originalwd, target, state, collapsef, keepf, + (originalwd, target, state, skipped, collapsef, keepf, keepbranchesf, external) = restorestatus(repo) if abortf: return abort(repo, originalwd, target, state) @@ -413,8 +413,18 @@ else: oldrev, newrev = l.split(':') state[repo[oldrev].rev()] = repo[newrev].rev() + skipped = set() + # recompute the set of skipped revs + if not collapse: + seen = set([target]) + for old, new in sorted(state.items()): + if new != nullrev and new in seen: + skipped.add(old) + seen.add(new) + repo.ui.debug('computed skipped revs: %s\n' % skipped) repo.ui.debug('rebase status resumed\n') - return originalwd, target, state, collapse, keep, keepbranches, external + return (originalwd, target, state, skipped, + collapse, keep, keepbranches, external) except IOError, err: if err.errno != errno.ENOENT: raise