##// END OF EJS Templates
merge: use intersectmatchers() in "m2-vs-ma optimization"...
Martin von Zweigbergk -
r32498:bd56bea5 default
parent child Browse files
Show More
@@ -823,11 +823,9 b' def manifestmerge(repo, wctx, p2, pa, br'
823
823
824 # Don't use m2-vs-ma optimization if:
824 # Don't use m2-vs-ma optimization if:
825 # - ma is the same as m1 or m2, which we're just going to diff again later
825 # - ma is the same as m1 or m2, which we're just going to diff again later
826 # - The matcher is set already, so we can't override it
827 # - The caller specifically asks for a full diff, which is useful during bid
826 # - The caller specifically asks for a full diff, which is useful during bid
828 # merge.
827 # merge.
829 if (pa not in ([wctx, p2] + wctx.parents()) and
828 if (pa not in ([wctx, p2] + wctx.parents()) and not forcefulldiff):
830 matcher is None and not forcefulldiff):
831 # Identify which files are relevant to the merge, so we can limit the
829 # Identify which files are relevant to the merge, so we can limit the
832 # total m1-vs-m2 diff to just those files. This has significant
830 # total m1-vs-m2 diff to just those files. This has significant
833 # performance benefits in large repositories.
831 # performance benefits in large repositories.
@@ -839,7 +837,8 b' def manifestmerge(repo, wctx, p2, pa, br'
839 relevantfiles.add(copykey)
837 relevantfiles.add(copykey)
840 for movedirkey in movewithdir.iterkeys():
838 for movedirkey in movewithdir.iterkeys():
841 relevantfiles.add(movedirkey)
839 relevantfiles.add(movedirkey)
842 matcher = scmutil.matchfiles(repo, relevantfiles)
840 filesmatcher = scmutil.matchfiles(repo, relevantfiles)
841 matcher = matchmod.intersectmatchers(matcher, filesmatcher)
843
842
844 diff = m1.diff(m2, match=matcher)
843 diff = m1.diff(m2, match=matcher)
845
844
General Comments 0
You need to be logged in to leave comments. Login now