##// END OF EJS Templates
simplemerge: avoid quadratic concatenation when building output text...
Martin von Zweigbergk -
r46715:fd75e5c5 default
parent child Browse files
Show More
@@ -499,14 +499,14 b' def simplemerge(ui, localctx, basectx, o'
499 extrakwargs[b'name_base'] = name_base
499 extrakwargs[b'name_base'] = name_base
500 extrakwargs[b'minimize'] = False
500 extrakwargs[b'minimize'] = False
501
501
502 mergedtext = b""
502 lines = []
503 for line in m3.merge_lines(
503 for line in m3.merge_lines(
504 name_a=name_a, name_b=name_b, **pycompat.strkwargs(extrakwargs)
504 name_a=name_a, name_b=name_b, **pycompat.strkwargs(extrakwargs)
505 ):
505 ):
506 if opts.get('print'):
506 if opts.get('print'):
507 ui.fout.write(line)
507 ui.fout.write(line)
508 else:
508 else:
509 mergedtext += line
509 lines.append(line)
510
510
511 # merge flags if necessary
511 # merge flags if necessary
512 flags = localctx.flags()
512 flags = localctx.flags()
@@ -519,6 +519,7 b' def simplemerge(ui, localctx, basectx, o'
519 flags = b''.join(sorted(commonflags | addedflags))
519 flags = b''.join(sorted(commonflags | addedflags))
520
520
521 if not opts.get('print'):
521 if not opts.get('print'):
522 mergedtext = b''.join(lines)
522 localctx.write(mergedtext, flags)
523 localctx.write(mergedtext, flags)
523
524
524 if m3.conflicts and not mode == b'union':
525 if m3.conflicts and not mode == b'union':
General Comments 0
You need to be logged in to leave comments. Login now