Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/cmdutil.py @ 10607:f3ac9d6105ee
addremove: add progress support for similarity search
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Mon, 08 Mar 2010 00:00:03 +0100 |
parents | 5868dd69fb03 |
children | 87fce8c5e29d |
comparison
equal
deleted
inserted
replaced
10606:5868dd69fb03 | 10607:f3ac9d6105ee |
---|---|
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 |