mercurial/commands.py
changeset 44454 2f290136b7d6
parent 44438 1e508097f570
child 44459 5a5aee8ba980
equal deleted inserted replaced
44453:f82d2d4e71db 44454:2f290136b7d6
   874         ui.status(
   874         ui.status(
   875             _(b'merging with changeset %s\n') % nice(repo.changelog.tip())
   875             _(b'merging with changeset %s\n') % nice(repo.changelog.tip())
   876         )
   876         )
   877         overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')}
   877         overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')}
   878         with ui.configoverride(overrides, b'backout'):
   878         with ui.configoverride(overrides, b'backout'):
   879             return hg.merge(repo, hex(repo.changelog.tip()))
   879             return hg.merge(repo[b'tip'])
   880     return 0
   880     return 0
   881 
   881 
   882 
   882 
   883 @command(
   883 @command(
   884     b'bisect',
   884     b'bisect',
  4876         raise error.Abort(_(b"please specify just one revision"))
  4876         raise error.Abort(_(b"please specify just one revision"))
  4877     if not node:
  4877     if not node:
  4878         node = opts.get(b'rev')
  4878         node = opts.get(b'rev')
  4879 
  4879 
  4880     if node:
  4880     if node:
  4881         node = scmutil.revsingle(repo, node).node()
  4881         ctx = scmutil.revsingle(repo, node)
  4882     else:
  4882     else:
  4883         if ui.configbool(b'commands', b'merge.require-rev'):
  4883         if ui.configbool(b'commands', b'merge.require-rev'):
  4884             raise error.Abort(
  4884             raise error.Abort(
  4885                 _(
  4885                 _(
  4886                     b'configuration requires specifying revision to merge '
  4886                     b'configuration requires specifying revision to merge '
  4887                     b'with'
  4887                     b'with'
  4888                 )
  4888                 )
  4889             )
  4889             )
  4890         node = repo[destutil.destmerge(repo)].node()
  4890         ctx = repo[destutil.destmerge(repo)]
  4891 
  4891 
  4892     if node is None:
  4892     if ctx.node() is None:
  4893         raise error.Abort(_(b'merging with the working copy has no effect'))
  4893         raise error.Abort(_(b'merging with the working copy has no effect'))
  4894 
  4894 
  4895     if opts.get(b'preview'):
  4895     if opts.get(b'preview'):
  4896         # find nodes that are ancestors of p2 but not of p1
  4896         # find nodes that are ancestors of p2 but not of p1
  4897         p1 = repo[b'.'].node()
  4897         p1 = repo[b'.'].node()
  4898         p2 = node
  4898         p2 = ctx.node()
  4899         nodes = repo.changelog.findmissing(common=[p1], heads=[p2])
  4899         nodes = repo.changelog.findmissing(common=[p1], heads=[p2])
  4900 
  4900 
  4901         displayer = logcmdutil.changesetdisplayer(ui, repo, opts)
  4901         displayer = logcmdutil.changesetdisplayer(ui, repo, opts)
  4902         for node in nodes:
  4902         for node in nodes:
  4903             displayer.show(repo[node])
  4903             displayer.show(repo[node])
  4907     # ui.forcemerge is an internal variable, do not document
  4907     # ui.forcemerge is an internal variable, do not document
  4908     overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')}
  4908     overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')}
  4909     with ui.configoverride(overrides, b'merge'):
  4909     with ui.configoverride(overrides, b'merge'):
  4910         force = opts.get(b'force')
  4910         force = opts.get(b'force')
  4911         labels = [b'working copy', b'merge rev']
  4911         labels = [b'working copy', b'merge rev']
  4912         return hg.merge(repo, node, force=force, labels=labels)
  4912         return hg.merge(ctx, force=force, labels=labels)
  4913 
  4913 
  4914 
  4914 
  4915 statemod.addunfinished(
  4915 statemod.addunfinished(
  4916     b'merge',
  4916     b'merge',
  4917     fname=None,
  4917     fname=None,