##// END OF EJS Templates
filemerge: raise InMemoryMergeConflictsError if we hit merge conflicts in IMM...
Phil Cohen -
r35283:46d7f071 default
parent child Browse files
Show More
@@ -241,6 +241,12 b' def _iprompt(repo, mynode, orig, fcd, fc'
241 241 ui = repo.ui
242 242 fd = fcd.path()
243 243
244 # Avoid prompting during an in-memory merge since it doesn't support merge
245 # conflicts.
246 if fcd.changectx().isinmemory():
247 raise error.InMemoryMergeConflictsError('in-memory merge does not '
248 'support file conflicts')
249
244 250 prompts = partextras(labels)
245 251 prompts['fd'] = fd
246 252 try:
@@ -465,11 +471,10 b' def _idump(repo, mynode, orig, fcd, fco,'
465 471 a = _workingpath(repo, fcd)
466 472 fd = fcd.path()
467 473
468 # Run ``flushall()`` to make any missing folders the following wwrite
469 # calls might be depending on.
470 474 from . import context
471 475 if isinstance(fcd, context.overlayworkingfilectx):
472 fcd.changectx().flushall()
476 raise error.InMemoryMergeConflictsError('in-memory merge does not '
477 'support the :dump tool.')
473 478
474 479 util.writefile(a + ".local", fcd.decodeddata())
475 480 repo.wwrite(fd + ".other", fco.data(), fco.flags())
@@ -688,10 +693,10 b' def _filemerge(premerge, repo, wctx, myn'
688 693 onfailure = _("merging %s failed!\n")
689 694 precheck = None
690 695
691 # If using deferred writes, must flush any deferred contents if running
692 # an external merge tool since it has arbitrary access to the working
693 # copy.
694 wctx.flushall()
696 if wctx.isinmemory():
697 raise error.InMemoryMergeConflictsError('in-memory merge does not '
698 'support external merge '
699 'tools')
695 700
696 701 toolconf = tool, toolpath, binary, symlink
697 702
@@ -710,6 +715,10 b' def _filemerge(premerge, repo, wctx, myn'
710 715 if precheck and not precheck(repo, mynode, orig, fcd, fco, fca,
711 716 toolconf):
712 717 if onfailure:
718 if wctx.isinmemory():
719 raise error.InMemoryMergeConflictsError('in-memory merge does '
720 'not support merge '
721 'conflicts')
713 722 ui.warn(onfailure % fd)
714 723 return True, 1, False
715 724
@@ -736,6 +745,10 b' def _filemerge(premerge, repo, wctx, myn'
736 745
737 746 if r:
738 747 if onfailure:
748 if wctx.isinmemory():
749 raise error.InMemoryMergeConflictsError('in-memory merge '
750 'does not support '
751 'merge conflicts')
739 752 ui.warn(onfailure % fd)
740 753 _onfilemergefailure(ui)
741 754
General Comments 0
You need to be logged in to leave comments. Login now