equal
deleted
inserted
replaced
838 |
838 |
839 retcode = rbsrt._prepareabortorcontinue(abortf) |
839 retcode = rbsrt._prepareabortorcontinue(abortf) |
840 if retcode is not None: |
840 if retcode is not None: |
841 return retcode |
841 return retcode |
842 else: |
842 else: |
843 destmap = _definedestmap(ui, repo, rbsrt, destf, srcf, basef, revf, |
843 destmap = _definedestmap(ui, repo, inmemory, destf, srcf, basef, |
844 destspace=destspace) |
844 revf, destspace=destspace) |
845 retcode = rbsrt._preparenewrebase(destmap) |
845 retcode = rbsrt._preparenewrebase(destmap) |
846 if retcode is not None: |
846 if retcode is not None: |
847 return retcode |
847 return retcode |
848 storecollapsemsg(repo, rbsrt.collapsemsg) |
848 storecollapsemsg(repo, rbsrt.collapsemsg) |
849 |
849 |
864 dsguard = dirstateguard.dirstateguard(repo, 'rebase') |
864 dsguard = dirstateguard.dirstateguard(repo, 'rebase') |
865 with util.acceptintervention(dsguard): |
865 with util.acceptintervention(dsguard): |
866 rbsrt._performrebase(tr) |
866 rbsrt._performrebase(tr) |
867 rbsrt._finishrebase() |
867 rbsrt._finishrebase() |
868 |
868 |
869 def _definedestmap(ui, repo, rbsrt, destf=None, srcf=None, basef=None, |
869 def _definedestmap(ui, repo, inmemory, destf=None, srcf=None, basef=None, |
870 revf=None, destspace=None): |
870 revf=None, destspace=None): |
871 """use revisions argument to define destmap {srcrev: destrev}""" |
871 """use revisions argument to define destmap {srcrev: destrev}""" |
872 if revf is None: |
872 if revf is None: |
873 revf = [] |
873 revf = [] |
874 |
874 |
879 if revf and basef: |
879 if revf and basef: |
880 raise error.Abort(_('cannot specify both a revision and a base')) |
880 raise error.Abort(_('cannot specify both a revision and a base')) |
881 if revf and srcf: |
881 if revf and srcf: |
882 raise error.Abort(_('cannot specify both a revision and a source')) |
882 raise error.Abort(_('cannot specify both a revision and a source')) |
883 |
883 |
884 if not rbsrt.inmemory: |
884 if not inmemory: |
885 cmdutil.checkunfinished(repo) |
885 cmdutil.checkunfinished(repo) |
886 cmdutil.bailifchanged(repo) |
886 cmdutil.bailifchanged(repo) |
887 |
887 |
888 if ui.configbool('commands', 'rebase.requiredest') and not destf: |
888 if ui.configbool('commands', 'rebase.requiredest') and not destf: |
889 raise error.Abort(_('you must specify a destination'), |
889 raise error.Abort(_('you must specify a destination'), |
957 ('+'.join(bytes(repo[r]) for r in base), dest)) |
957 ('+'.join(bytes(repo[r]) for r in base), dest)) |
958 return None |
958 return None |
959 |
959 |
960 rebasingwcp = repo['.'].rev() in rebaseset |
960 rebasingwcp = repo['.'].rev() in rebaseset |
961 ui.log("rebase", "", rebase_rebasing_wcp=rebasingwcp) |
961 ui.log("rebase", "", rebase_rebasing_wcp=rebasingwcp) |
962 if rbsrt.inmemory and rebasingwcp: |
962 if inmemory and rebasingwcp: |
963 # Check these since we did not before. |
963 # Check these since we did not before. |
964 cmdutil.checkunfinished(repo) |
964 cmdutil.checkunfinished(repo) |
965 cmdutil.bailifchanged(repo) |
965 cmdutil.bailifchanged(repo) |
966 |
966 |
967 if not destf: |
967 if not destf: |