##// END OF EJS Templates
copies: only calculate 'addedinm[12]' sets once...
Martin von Zweigbergk -
r24187:30219bd4 default
parent child Browse files
Show More
@@ -209,13 +209,11 b' def pathcopies(x, y):'
209 return _backwardrenames(x, y)
209 return _backwardrenames(x, y)
210 return _chain(x, y, _backwardrenames(x, a), _forwardcopies(a, y))
210 return _chain(x, y, _backwardrenames(x, a), _forwardcopies(a, y))
211
211
212 def _computenonoverlap(repo, m1, m2, ma):
212 def _computenonoverlap(repo, addedinm1, addedinm2):
213 """Computes the files exclusive to m1 and m2.
213 """Computes, based on addedinm1 and addedinm2, the files exclusive to m1
214 This is its own function so extensions can easily wrap this call to see what
214 and m2. This is its own function so extensions can easily wrap this call
215 files mergecopies is about to process.
215 to see what files mergecopies is about to process.
216 """
216 """
217 addedinm1 = m1.filesnotin(ma)
218 addedinm2 = m2.filesnotin(ma)
219 u1 = sorted(addedinm1 - addedinm2)
217 u1 = sorted(addedinm1 - addedinm2)
220 u2 = sorted(addedinm2 - addedinm1)
218 u2 = sorted(addedinm2 - addedinm1)
221
219
@@ -280,7 +278,9 b' def mergecopies(repo, c1, c2, ca):'
280
278
281 repo.ui.debug(" searching for copies back to rev %d\n" % limit)
279 repo.ui.debug(" searching for copies back to rev %d\n" % limit)
282
280
283 u1, u2 = _computenonoverlap(repo, m1, m2, ma)
281 addedinm1 = m1.filesnotin(ma)
282 addedinm2 = m2.filesnotin(ma)
283 u1, u2 = _computenonoverlap(repo, addedinm1, addedinm2)
284
284
285 for f in u1:
285 for f in u1:
286 checkcopies(ctx, f, m1, m2, ca, limit, diverge, copy, fullcopy)
286 checkcopies(ctx, f, m1, m2, ca, limit, diverge, copy, fullcopy)
@@ -302,8 +302,6 b' def mergecopies(repo, c1, c2, ca):'
302 else:
302 else:
303 diverge2.update(fl) # reverse map for below
303 diverge2.update(fl) # reverse map for below
304
304
305 addedinm1 = m1.filesnotin(ma)
306 addedinm2 = m2.filesnotin(ma)
307 bothnew = sorted(addedinm1 & addedinm2)
305 bothnew = sorted(addedinm1 & addedinm2)
308 if bothnew:
306 if bothnew:
309 repo.ui.debug(" unmatched files new in both:\n %s\n"
307 repo.ui.debug(" unmatched files new in both:\n %s\n"
General Comments 0
You need to be logged in to leave comments. Login now