Mercurial > public > mercurial-scm > hg
comparison mercurial/cmdutil.py @ 3971:68a0fa81ad28
cmdutil.py: use contexts in findrenames
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Tue, 26 Dec 2006 03:12:51 +0100 |
parents | 6b4127c7d52a |
children | 431f3c1d3a37 |
comparison
equal
deleted
inserted
replaced
3970:fff8a5345eb0 | 3971:68a0fa81ad28 |
---|---|
144 yield src, fn, util.pathto(repo.getcwd(), fn), fn in exact | 144 yield src, fn, util.pathto(repo.getcwd(), fn), fn in exact |
145 | 145 |
146 def findrenames(repo, added=None, removed=None, threshold=0.5): | 146 def findrenames(repo, added=None, removed=None, threshold=0.5): |
147 if added is None or removed is None: | 147 if added is None or removed is None: |
148 added, removed = repo.status()[1:3] | 148 added, removed = repo.status()[1:3] |
149 changes = repo.changelog.read(repo.dirstate.parents()[0]) | 149 ctx = repo.changectx() |
150 mf = repo.manifest.read(changes[0]) | |
151 for a in added: | 150 for a in added: |
152 aa = repo.wread(a) | 151 aa = repo.wread(a) |
153 bestscore, bestname = None, None | 152 bestscore, bestname = None, None |
154 for r in removed: | 153 for r in removed: |
155 rr = repo.file(r).read(mf[r]) | 154 rr = ctx.filectx(r).data() |
156 delta = mdiff.textdiff(aa, rr) | 155 delta = mdiff.textdiff(aa, rr) |
157 if len(delta) < len(aa): | 156 if len(delta) < len(aa): |
158 myscore = 1.0 - (float(len(delta)) / len(aa)) | 157 myscore = 1.0 - (float(len(delta)) / len(aa)) |
159 if bestscore is None or myscore > bestscore: | 158 if bestscore is None or myscore > bestscore: |
160 bestscore, bestname = myscore, r | 159 bestscore, bestname = myscore, r |