mercurial/filemerge.py
changeset 48578 77e24ee8994b
parent 48577 62682662346c
child 48579 f970bc616ebc
equal deleted inserted replaced
48577:62682662346c 48578:77e24ee8994b
   426         mode = b'merge'
   426         mode = b'merge'
   427         if premerge == b'keep-mergediff':
   427         if premerge == b'keep-mergediff':
   428             mode = b'mergediff'
   428             mode = b'mergediff'
   429         elif premerge == b'keep-merge3':
   429         elif premerge == b'keep-merge3':
   430             mode = b'merge3'
   430             mode = b'merge3'
       
   431         local = simplemerge.MergeInput(fcd, labels[0])
       
   432         other = simplemerge.MergeInput(fco, labels[1])
       
   433         base = simplemerge.MergeInput(fca, labels[2])
   431         r = simplemerge.simplemerge(
   434         r = simplemerge.simplemerge(
   432             ui, fcd, fca, fco, quiet=True, label=labels, mode=mode
   435             ui, local, base, other, quiet=True, mode=mode
   433         )
   436         )
   434         if not r:
   437         if not r:
   435             ui.debug(b" premerge successful\n")
   438             ui.debug(b" premerge successful\n")
   436             return 0
   439             return 0
   437         if premerge not in validkeep:
   440         if premerge not in validkeep:
   467     files. It will fail if there are any conflicts and leave markers in
   470     files. It will fail if there are any conflicts and leave markers in
   468     the partially merged file. Markers will have two sections, one for each side
   471     the partially merged file. Markers will have two sections, one for each side
   469     of merge, unless mode equals 'union' which suppresses the markers."""
   472     of merge, unless mode equals 'union' which suppresses the markers."""
   470     ui = repo.ui
   473     ui = repo.ui
   471 
   474 
   472     r = simplemerge.simplemerge(ui, fcd, fca, fco, label=labels, mode=mode)
   475     local = simplemerge.MergeInput(fcd)
       
   476     if len(labels) > 0:
       
   477         local.label = labels[0]
       
   478     other = simplemerge.MergeInput(fco)
       
   479     if len(labels) > 1:
       
   480         other.label = labels[1]
       
   481     base = simplemerge.MergeInput(fca)
       
   482     if len(labels) > 2:
       
   483         base.label = labels[2]
       
   484     r = simplemerge.simplemerge(ui, local, base, other, mode=mode)
   473     return True, r, False
   485     return True, r, False
   474 
   486 
   475 
   487 
   476 @internaltool(
   488 @internaltool(
   477     b'union',
   489     b'union',