Mercurial > public > mercurial-scm > hg
comparison mercurial/templatekw.py @ 38167:ec37df9042f9
templatekw: make getrenamed() return only filename, not nodeid
No callers cared about the nodeid and I want to make getrenamed() not
look up the node (although it's currently free, I hope to store copy
info in changesets and not include the nodeid).
Differential Revision: https://phab.mercurial-scm.org/D3666
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 26 Mar 2018 10:49:01 -0700 |
parents | 009b424c9cb6 |
children | 0e0d03d09ecd |
comparison
equal
deleted
inserted
replaced
38166:cc9aa88792fe | 38167:ec37df9042f9 |
---|---|
109 rcache[fn] = {} | 109 rcache[fn] = {} |
110 fl = repo.file(fn) | 110 fl = repo.file(fn) |
111 for i in fl: | 111 for i in fl: |
112 lr = fl.linkrev(i) | 112 lr = fl.linkrev(i) |
113 renamed = fl.renamed(fl.node(i)) | 113 renamed = fl.renamed(fl.node(i)) |
114 rcache[fn][lr] = renamed | 114 rcache[fn][lr] = renamed and renamed[0] |
115 if lr >= endrev: | 115 if lr >= endrev: |
116 break | 116 break |
117 if rev in rcache[fn]: | 117 if rev in rcache[fn]: |
118 return rcache[fn][rev] | 118 return rcache[fn][rev] |
119 | 119 |
120 # If linkrev != rev (i.e. rev not found in rcache) fallback to | 120 # If linkrev != rev (i.e. rev not found in rcache) fallback to |
121 # filectx logic. | 121 # filectx logic. |
122 try: | 122 try: |
123 return repo[rev][fn].renamed() | 123 renamed = repo[rev][fn].renamed() |
124 return renamed and renamed[0] | |
124 except error.LookupError: | 125 except error.LookupError: |
125 return None | 126 return None |
126 | 127 |
127 return getrenamed | 128 return getrenamed |
128 | 129 |
316 copies = [] | 317 copies = [] |
317 getrenamed = cache['getrenamed'] | 318 getrenamed = cache['getrenamed'] |
318 for fn in ctx.files(): | 319 for fn in ctx.files(): |
319 rename = getrenamed(fn, ctx.rev()) | 320 rename = getrenamed(fn, ctx.rev()) |
320 if rename: | 321 if rename: |
321 copies.append((fn, rename[0])) | 322 copies.append((fn, rename)) |
322 | 323 |
323 copies = util.sortdict(copies) | 324 copies = util.sortdict(copies) |
324 return compatdict(context, mapping, 'file_copy', copies, | 325 return compatdict(context, mapping, 'file_copy', copies, |
325 key='name', value='source', fmt='%s (%s)', | 326 key='name', value='source', fmt='%s (%s)', |
326 plural='file_copies') | 327 plural='file_copies') |