##// END OF EJS Templates
filemerge: set actual capabilities of internal merge tools...
FUJIWARA Katsunori -
r39158:5d3b5847 default
parent child Browse files
Show More
@@ -470,7 +470,7 b' def _itagmerge(repo, mynode, orig, fcd, '
470 470 success, status = tagmerge.merge(repo, fcd, fco, fca)
471 471 return success, status, False
472 472
473 @internaltool('dump', fullmerge)
473 @internaltool('dump', fullmerge, binary=True, symlink=True)
474 474 def _idump(repo, mynode, orig, fcd, fco, fca, toolconf, files, labels=None):
475 475 """
476 476 Creates three versions of the files to merge, containing the
@@ -496,7 +496,7 b' def _idump(repo, mynode, orig, fcd, fco,'
496 496 repo.wwrite(fd + ".base", fca.data(), fca.flags())
497 497 return False, 1, False
498 498
499 @internaltool('forcedump', mergeonly)
499 @internaltool('forcedump', mergeonly, binary=True, symlink=True)
500 500 def _forcedump(repo, mynode, orig, fcd, fco, fca, toolconf, files,
501 501 labels=None):
502 502 """
@@ -399,7 +399,8 b' class internalmerge(_funcregistrarbase):'
399 399 internalmerge = registrar.internalmerge()
400 400
401 401 @internalmerge('mymerge', internalmerge.mergeonly,
402 onfailure=None, precheck=None):
402 onfailure=None, precheck=None,
403 binary=False, symlink=False):
403 404 def mymergefunc(repo, mynode, orig, fcd, fco, fca,
404 405 toolconf, files, labels=None):
405 406 '''Explanation of this internal merge tool ....
@@ -430,6 +431,12 b' class internalmerge(_funcregistrarbase):'
430 431 'files' and 'labels'. If it returns false value, merging is aborted
431 432 immediately (and file is marked as "unresolved").
432 433
434 Optional argument 'binary' is a binary files capability of internal
435 merge tool. 'nomerge' merge type implies binary=True.
436
437 Optional argument 'symlink' is a symlinks capability of inetrnal
438 merge function. 'nomerge' merge type implies symlink=True.
439
433 440 'internalmerge' instance in example above can be used to
434 441 decorate multiple functions.
435 442
@@ -447,7 +454,14 b' class internalmerge(_funcregistrarbase):'
447 454 fullmerge = 'fullmerge' # both premerge and merge
448 455
449 456 def _extrasetup(self, name, func, mergetype,
450 onfailure=None, precheck=None):
457 onfailure=None, precheck=None,
458 binary=False, symlink=False):
451 459 func.mergetype = mergetype
452 460 func.onfailure = onfailure
453 461 func.precheck = precheck
462
463 binarycap = binary or mergetype == self.nomerge
464 symlinkcap = symlink or mergetype == self.nomerge
465
466 # actual capabilities, which this internal merge tool has
467 func.capabilities = {"binary": binarycap, "symlink": symlinkcap}
General Comments 0
You need to be logged in to leave comments. Login now