equal
deleted
inserted
replaced
287 |
287 |
288 def findrenames(repo, added, removed, threshold): |
288 def findrenames(repo, added, removed, threshold): |
289 '''find renamed files -- yields (before, after, score) tuples''' |
289 '''find renamed files -- yields (before, after, score) tuples''' |
290 copies = {} |
290 copies = {} |
291 ctx = repo['.'] |
291 ctx = repo['.'] |
292 for r in removed: |
292 for i, r in enumerate(removed): |
|
293 repo.ui.progress(_('looking for similarities'), i, total=len(removed)) |
293 if r not in ctx: |
294 if r not in ctx: |
294 continue |
295 continue |
295 fctx = ctx.filectx(r) |
296 fctx = ctx.filectx(r) |
296 |
297 |
297 def score(text): |
298 def score(text): |
317 for a in added: |
318 for a in added: |
318 bestscore = copies.get(a, (None, threshold))[1] |
319 bestscore = copies.get(a, (None, threshold))[1] |
319 myscore = score(repo.wread(a)) |
320 myscore = score(repo.wread(a)) |
320 if myscore >= bestscore: |
321 if myscore >= bestscore: |
321 copies[a] = (r, myscore) |
322 copies[a] = (r, myscore) |
|
323 repo.ui.progress(_('looking for similarities'), None, total=len(removed)) |
322 |
324 |
323 for dest, v in copies.iteritems(): |
325 for dest, v in copies.iteritems(): |
324 source, score = v |
326 source, score = v |
325 yield source, dest, score |
327 yield source, dest, score |
326 |
328 |