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'): |