comparison mercurial/copies.py @ 26316:d5618e210191

copies: begin separating mergecopies sides
author Matt Mackall <mpm@selenic.com>
date Wed, 19 Aug 2015 13:40:18 -0500
parents 3c6902ed9f07
children 07ac78ba2e37
comparison
equal deleted inserted replaced
26315:3c6902ed9f07 26316:d5618e210191
314 fctx._ancestrycontext = ac 314 fctx._ancestrycontext = ac
315 fctx._descendantrev = rev 315 fctx._descendantrev = rev
316 return fctx 316 return fctx
317 return util.lrucachefunc(makectx) 317 return util.lrucachefunc(makectx)
318 318
319 copy = {} 319 copy1, copy2, = {}, {}
320 movewithdir = {} 320 movewithdir1, movewithdir2 = {}, {}
321 fullcopy = {} 321 fullcopy1, fullcopy2 = {}, {}
322 diverge = {} 322 diverge = {}
323 323
324 repo.ui.debug(" searching for copies back to rev %d\n" % limit) 324 repo.ui.debug(" searching for copies back to rev %d\n" % limit)
325 325
326 addedinm1 = m1.filesnotin(ma) 326 addedinm1 = m1.filesnotin(ma)
327 addedinm2 = m2.filesnotin(ma) 327 addedinm2 = m2.filesnotin(ma)
328 u1, u2 = _computenonoverlap(repo, c1, c2, addedinm1, addedinm2) 328 u1, u2 = _computenonoverlap(repo, c1, c2, addedinm1, addedinm2)
329 329
330 for f in u1: 330 for f in u1:
331 getfctx = setupctx(c1) 331 getfctx = setupctx(c1)
332 checkcopies(getfctx, f, m1, m2, ca, limit, diverge, copy, fullcopy) 332 checkcopies(getfctx, f, m1, m2, ca, limit, diverge, copy1, fullcopy1)
333 333
334 for f in u2: 334 for f in u2:
335 getfctx = setupctx(c2) 335 getfctx = setupctx(c2)
336 checkcopies(getfctx, f, m2, m1, ca, limit, diverge, copy, fullcopy) 336 checkcopies(getfctx, f, m2, m1, ca, limit, diverge, copy2, fullcopy2)
337
338 copy = dict(copy1.items() + copy2.items())
339 movewithdir = dict(movewithdir1.items() + movewithdir2.items())
340 fullcopy = dict(fullcopy1.items() + fullcopy2.items())
337 341
338 renamedelete = {} 342 renamedelete = {}
339 renamedelete2 = set() 343 renamedelete2 = set()
340 diverge2 = set() 344 diverge2 = set()
341 for of, fl in diverge.items(): 345 for of, fl in diverge.items():