comparison hg @ 80:5b7a444c794a

Fix field width for annotate Add blame
author mpm@selenic.com
date Tue, 17 May 2005 01:22:50 -0800
parents 837d473d54d5
children 17884f79d59d
comparison
equal deleted inserted replaced
79:837d473d54d5 80:5b7a444c794a
210 node = repo.changelog.lookup(aoptions['revision']) 210 node = repo.changelog.lookup(aoptions['revision'])
211 change = repo.changelog.read(node) 211 change = repo.changelog.read(node)
212 mmap = repo.manifest.read(change[0]) 212 mmap = repo.manifest.read(change[0])
213 for f in args: 213 for f in args:
214 for n, l in repo.file(f).annotate(mmap[f]): 214 for n, l in repo.file(f).annotate(mmap[f]):
215 sys.stdout.write("%s: %s"%(n, l)) 215 sys.stdout.write("% 6s:%s"%(n, l))
216
217 elif cmd == "blame":
218 aoptions = {}
219 opts = [('r', 'revision', '', 'revision')]
220 args = fancyopts.fancyopts(args, opts, aoptions,
221 'hg blame [-r id] [files]')
222 if args:
223 bcache = {}
224 node = repo.current
225 if aoptions['revision']:
226 node = repo.changelog.lookup(aoptions['revision'])
227 change = repo.changelog.read(node)
228 mmap = repo.manifest.read(change[0])
229 for f in args:
230 for n, l in repo.file(f).annotate(mmap[f]):
231 try:
232 name = bcache[n]
233 except KeyError:
234 cl = repo.changelog.read(repo.changelog.node(n))
235 name = cl[1]
236 f = name.find('@')
237 if f >= 0:
238 name = name[:f]
239 bcache[n] = name
240 sys.stdout.write("% 10s:%s"%(name, l))
216 241
217 elif cmd == "export": 242 elif cmd == "export":
218 node = repo.lookup(args[0]) 243 node = repo.lookup(args[0])
219 prev, other = repo.changelog.parents(node) 244 prev, other = repo.changelog.parents(node)
220 change = repo.changelog.read(node) 245 change = repo.changelog.read(node)