##// 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 209 return _backwardrenames(x, y)
210 210 return _chain(x, y, _backwardrenames(x, a), _forwardcopies(a, y))
211 211
212 def _computenonoverlap(repo, m1, m2, ma):
213 """Computes the files exclusive to m1 and m2.
214 This is its own function so extensions can easily wrap this call to see what
215 files mergecopies is about to process.
212 def _computenonoverlap(repo, addedinm1, addedinm2):
213 """Computes, based on addedinm1 and addedinm2, the files exclusive to m1
214 and m2. This is its own function so extensions can easily wrap this call
215 to see what files mergecopies is about to process.
216 216 """
217 addedinm1 = m1.filesnotin(ma)
218 addedinm2 = m2.filesnotin(ma)
219 217 u1 = sorted(addedinm1 - addedinm2)
220 218 u2 = sorted(addedinm2 - addedinm1)
221 219
@@ -280,7 +278,9 b' def mergecopies(repo, c1, c2, ca):'
280 278
281 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 285 for f in u1:
286 286 checkcopies(ctx, f, m1, m2, ca, limit, diverge, copy, fullcopy)
@@ -302,8 +302,6 b' def mergecopies(repo, c1, c2, ca):'
302 302 else:
303 303 diverge2.update(fl) # reverse map for below
304 304
305 addedinm1 = m1.filesnotin(ma)
306 addedinm2 = m2.filesnotin(ma)
307 305 bothnew = sorted(addedinm1 & addedinm2)
308 306 if bothnew:
309 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