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