diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -773,7 +773,8 @@ return retcode else: destmap = _definedestmap(ui, repo, destf, srcf, basef, revf, - destspace=destspace) + destspace=destspace, + inmemory=opts['inmemory']) retcode = rbsrt._preparenewrebase(destmap) if retcode is not None: return retcode @@ -793,7 +794,7 @@ rbsrt._finishrebase() def _definedestmap(ui, repo, destf=None, srcf=None, basef=None, revf=None, - destspace=None): + destspace=None, inmemory=False): """use revisions argument to define destmap {srcrev: destrev}""" if revf is None: revf = [] @@ -807,8 +808,9 @@ if revf and srcf: raise error.Abort(_('cannot specify both a revision and a source')) - cmdutil.checkunfinished(repo) - cmdutil.bailifchanged(repo) + if not inmemory: + cmdutil.checkunfinished(repo) + cmdutil.bailifchanged(repo) if ui.configbool('commands', 'rebase.requiredest') and not destf: raise error.Abort(_('you must specify a destination'),