hgext/rebase.py
changeset 45555 feffeb18d412
parent 45549 e9468f14379a
child 45556 03726f5b6092
equal deleted inserted replaced
45554:abad925af2ef 45555:feffeb18d412
   613                 repo.ui.debug(b'resuming interrupted rebase\n')
   613                 repo.ui.debug(b'resuming interrupted rebase\n')
   614                 self.resume = False
   614                 self.resume = False
   615             else:
   615             else:
   616                 overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')}
   616                 overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')}
   617                 with ui.configoverride(overrides, b'rebase'):
   617                 with ui.configoverride(overrides, b'rebase'):
   618                     rebasenode(
   618                     try:
   619                         repo, rev, p1, p2, base, self.collapsef, wctx=self.wctx,
   619                         rebasenode(
   620                     )
   620                             repo,
       
   621                             rev,
       
   622                             p1,
       
   623                             p2,
       
   624                             base,
       
   625                             self.collapsef,
       
   626                             wctx=self.wctx,
       
   627                         )
       
   628                     except error.InMemoryMergeConflictsError:
       
   629                         if self.dryrun:
       
   630                             raise error.ConflictResolutionRequired(b'rebase')
       
   631                         if self.collapsef:
       
   632                             # TODO: Make the overlayworkingctx reflected
       
   633                             # in the working copy here instead of re-raising
       
   634                             # so the entire rebase operation is retried.
       
   635                             raise
       
   636                         ui.status(
       
   637                             _(
       
   638                                 b"hit merge conflicts; rebasing that "
       
   639                                 b"commit again in the working copy\n"
       
   640                             )
       
   641                         )
       
   642                         cmdutil.bailifchanged(repo)
       
   643                         self.inmemory = False
       
   644                         self._assignworkingcopy()
       
   645                         mergemod.update(
       
   646                             repo,
       
   647                             p1,
       
   648                             branchmerge=False,
       
   649                             force=False,
       
   650                             wc=self.wctx,
       
   651                         )
       
   652                         rebasenode(
       
   653                             repo,
       
   654                             rev,
       
   655                             p1,
       
   656                             p2,
       
   657                             base,
       
   658                             self.collapsef,
       
   659                             wctx=self.wctx,
       
   660                         )
   621             if not self.collapsef:
   661             if not self.collapsef:
   622                 merging = p2 != nullrev
   662                 merging = p2 != nullrev
   623                 editform = cmdutil.mergeeditform(merging, b'rebase')
   663                 editform = cmdutil.mergeeditform(merging, b'rebase')
   624                 editor = cmdutil.getcommiteditor(
   664                 editor = cmdutil.getcommiteditor(
   625                     editform=editform, **pycompat.strkwargs(opts)
   665                     editform=editform, **pycompat.strkwargs(opts)
  1098             overrides = {(b'rebase', b'singletransaction'): True}
  1138             overrides = {(b'rebase', b'singletransaction'): True}
  1099             with ui.configoverride(overrides, b'rebase'):
  1139             with ui.configoverride(overrides, b'rebase'):
  1100                 _origrebase(
  1140                 _origrebase(
  1101                     ui, repo, action, opts, rbsrt,
  1141                     ui, repo, action, opts, rbsrt,
  1102                 )
  1142                 )
  1103         except error.InMemoryMergeConflictsError:
  1143         except error.ConflictResolutionRequired:
  1104             ui.status(_(b'hit a merge conflict\n'))
  1144             ui.status(_(b'hit a merge conflict\n'))
  1105             return 1
  1145             return 1
  1106         except error.Abort:
  1146         except error.Abort:
  1107             needsabort = False
  1147             needsabort = False
  1108             raise
  1148             raise