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')