mercurial/simplemerge.py
changeset 48558 2dbee604a4f0
parent 48557 c6649c53073f
child 48559 b5e1283c0475
equal deleted inserted replaced
48557:c6649c53073f 48558:2dbee604a4f0
   339     for i, override in enumerate(overrides):
   339     for i, override in enumerate(overrides):
   340         result[i] = override
   340         result[i] = override
   341     return result
   341     return result
   342 
   342 
   343 
   343 
   344 def merge_lines(
   344 def render_markers(
   345     m3,
   345     m3,
   346     name_a=None,
   346     name_a=None,
   347     name_b=None,
   347     name_b=None,
   348     name_base=None,
   348     name_base=None,
   349     start_marker=b'<<<<<<<',
   349     start_marker=b'<<<<<<<',
   388         else:
   388         else:
   389             lines.extend(group_lines)
   389             lines.extend(group_lines)
   390     return lines, conflicts
   390     return lines, conflicts
   391 
   391 
   392 
   392 
   393 def _mergediff(m3, name_a, name_b, name_base):
   393 def render_mergediff(m3, name_a, name_b, name_base):
   394     lines = []
   394     lines = []
   395     conflicts = False
   395     conflicts = False
   396     for what, group_lines in m3.merge_groups():
   396     for what, group_lines in m3.merge_groups():
   397         if what == b'conflict':
   397         if what == b'conflict':
   398             base_lines, a_lines, b_lines = group_lines
   398             base_lines, a_lines, b_lines = group_lines
   498     else:
   498     else:
   499         name_a, name_b, name_base = _picklabels(
   499         name_a, name_b, name_base = _picklabels(
   500             [localctx.path(), otherctx.path(), None], opts.get('label', [])
   500             [localctx.path(), otherctx.path(), None], opts.get('label', [])
   501         )
   501         )
   502         if mode == b'mergediff':
   502         if mode == b'mergediff':
   503             lines, conflicts = _mergediff(m3, name_a, name_b, name_base)
   503             lines, conflicts = render_mergediff(m3, name_a, name_b, name_base)
   504         else:
   504         else:
   505             extrakwargs = {
   505             extrakwargs = {
   506                 'minimize': True,
   506                 'minimize': True,
   507             }
   507             }
   508             if mode == b'merge3':
   508             if mode == b'merge3':
   509                 extrakwargs['base_marker'] = b'|||||||'
   509                 extrakwargs['base_marker'] = b'|||||||'
   510                 extrakwargs['name_base'] = name_base
   510                 extrakwargs['name_base'] = name_base
   511                 extrakwargs['minimize'] = False
   511                 extrakwargs['minimize'] = False
   512             lines, conflicts = merge_lines(
   512             lines, conflicts = render_markers(
   513                 m3, name_a=name_a, name_b=name_b, **extrakwargs
   513                 m3, name_a=name_a, name_b=name_b, **extrakwargs
   514             )
   514             )
   515 
   515 
   516     mergedtext = b''.join(lines)
   516     mergedtext = b''.join(lines)
   517     if opts.get('print'):
   517     if opts.get('print'):