Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/simplemerge.py @ 48590:12ac4401ff7d
simplemerge: simplify and rename `render_markers()`
`render_markers()` now always renders minimized 2-way markers, so
let's simplify and rename it accordingly.
Differential Revision: https://phab.mercurial-scm.org/D11979
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 11 Jan 2022 21:56:27 -0800 |
parents | 69e76b2aad3d |
children | ad0c6bf6f02e |
comparison
equal
deleted
inserted
replaced
48589:69e76b2aad3d | 48590:12ac4401ff7d |
---|---|
348 elif m3.a[0].endswith(b'\r'): | 348 elif m3.a[0].endswith(b'\r'): |
349 return b'\r' | 349 return b'\r' |
350 return b'\n' | 350 return b'\n' |
351 | 351 |
352 | 352 |
353 def render_markers( | 353 def render_minimized( |
354 m3, | 354 m3, |
355 name_a=None, | 355 name_a=None, |
356 name_b=None, | 356 name_b=None, |
357 start_marker=b'<<<<<<<', | 357 start_marker=b'<<<<<<<', |
358 mid_marker=b'=======', | 358 mid_marker=b'=======', |
359 end_marker=b'>>>>>>>', | 359 end_marker=b'>>>>>>>', |
360 minimize=False, | |
361 ): | 360 ): |
362 """Return merge in cvs-like form.""" | 361 """Return merge in cvs-like form.""" |
363 newline = _detect_newline(m3) | 362 newline = _detect_newline(m3) |
364 conflicts = False | 363 conflicts = False |
365 if name_a and start_marker: | 364 if name_a: |
366 start_marker = start_marker + b' ' + name_a | 365 start_marker = start_marker + b' ' + name_a |
367 if name_b and end_marker: | 366 if name_b: |
368 end_marker = end_marker + b' ' + name_b | 367 end_marker = end_marker + b' ' + name_b |
369 merge_groups = m3.merge_groups() | 368 merge_groups = m3.merge_groups() |
370 if minimize: | 369 merge_groups = m3.minimize(merge_groups) |
371 merge_groups = m3.minimize(merge_groups) | |
372 lines = [] | 370 lines = [] |
373 for what, group_lines in merge_groups: | 371 for what, group_lines in merge_groups: |
374 if what == b'conflict': | 372 if what == b'conflict': |
375 base_lines, a_lines, b_lines = group_lines | 373 base_lines, a_lines, b_lines = group_lines |
376 conflicts = True | 374 conflicts = True |
377 if start_marker is not None: | 375 lines.append(start_marker + newline) |
378 lines.append(start_marker + newline) | |
379 lines.extend(a_lines) | 376 lines.extend(a_lines) |
380 if mid_marker is not None: | 377 lines.append(mid_marker + newline) |
381 lines.append(mid_marker + newline) | |
382 lines.extend(b_lines) | 378 lines.extend(b_lines) |
383 if end_marker is not None: | 379 lines.append(end_marker + newline) |
384 lines.append(end_marker + newline) | |
385 else: | 380 else: |
386 lines.extend(group_lines) | 381 lines.extend(group_lines) |
387 return lines, conflicts | 382 return lines, conflicts |
388 | 383 |
389 | 384 |
520 if mode == b'mergediff': | 515 if mode == b'mergediff': |
521 lines, conflicts = render_mergediff(m3, name_a, name_b, name_base) | 516 lines, conflicts = render_mergediff(m3, name_a, name_b, name_base) |
522 elif mode == b'merge3': | 517 elif mode == b'merge3': |
523 lines, conflicts = render_merge3(m3, name_a, name_b, name_base) | 518 lines, conflicts = render_merge3(m3, name_a, name_b, name_base) |
524 else: | 519 else: |
525 extrakwargs = { | 520 lines, conflicts = render_minimized(m3, name_a, name_b) |
526 'minimize': True, | |
527 } | |
528 lines, conflicts = render_markers( | |
529 m3, name_a=name_a, name_b=name_b, **extrakwargs | |
530 ) | |
531 | 521 |
532 mergedtext = b''.join(lines) | 522 mergedtext = b''.join(lines) |
533 if opts.get('print'): | 523 if opts.get('print'): |
534 ui.fout.write(mergedtext) | 524 ui.fout.write(mergedtext) |
535 else: | 525 else: |