comparison mercurial/commands.py @ 714:29fcd195e056

Some cleanups in commands.annotate(). -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Some cleanups in commands.annotate(). manifest hash: 9581ad3bb9ebc418e4772158c505e34b92496e92 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFC2K+nW7P1GVgWeRoRAr3VAKCGvKbhmG4yweZTgmxIgaZlmz16HQCdFupq BKcWfEn17Y1l6IDbGS0rDyI= =/fR/ -----END PGP SIGNATURE-----
author Thomas Arendsen Hein <thomas@intevation.de>
date Sat, 16 Jul 2005 07:56:39 +0100
parents b4f0fad0ea64
children 938dd667ca21
comparison
equal deleted inserted replaced
713:7c385bd5f993 714:29fcd195e056
309 else: 309 else:
310 (c, a, d, u) = repo.changes(None, None) 310 (c, a, d, u) = repo.changes(None, None)
311 repo.add(u) 311 repo.add(u)
312 repo.remove(d) 312 repo.remove(d)
313 313
314 def annotate(u, repo, file1, *files, **ops): 314 def annotate(ui, repo, file1, *files, **opts):
315 """show changeset information per file line""" 315 """show changeset information per file line"""
316 def getnode(rev): 316 def getnode(rev):
317 return hg.short(repo.changelog.node(rev)) 317 return hg.short(repo.changelog.node(rev))
318 318
319 def getname(rev): 319 def getname(rev):
331 bcache[rev] = name 331 bcache[rev] = name
332 return name 332 return name
333 333
334 bcache = {} 334 bcache = {}
335 opmap = [['user', getname], ['number', str], ['changeset', getnode]] 335 opmap = [['user', getname], ['number', str], ['changeset', getnode]]
336 if not ops['user'] and not ops['changeset']: 336 if not opts['user'] and not opts['changeset']:
337 ops['number'] = 1 337 opts['number'] = 1
338 338
339 node = repo.dirstate.parents()[0] 339 if opts['revision']:
340 if ops['revision']: 340 node = repo.changelog.lookup(opts['revision'])
341 node = repo.changelog.lookup(ops['revision']) 341 else:
342 node = repo.dirstate.parents()[0]
342 change = repo.changelog.read(node) 343 change = repo.changelog.read(node)
343 mmap = repo.manifest.read(change[0]) 344 mmap = repo.manifest.read(change[0])
344 for f in relpath(repo, (file1,) + files): 345 for f in relpath(repo, (file1,) + files):
345 lines = repo.file(f).annotate(mmap[f]) 346 lines = repo.file(f).annotate(mmap[f])
346 pieces = [] 347 pieces = []
347 348
348 for o, f in opmap: 349 for o, f in opmap:
349 if ops[o]: 350 if opts[o]:
350 l = [f(n) for n, dummy in lines] 351 l = [f(n) for n, dummy in lines]
351 m = max(map(len, l)) 352 m = max(map(len, l))
352 pieces.append(["%*s" % (m, x) for x in l]) 353 pieces.append(["%*s" % (m, x) for x in l])
353 354
354 for p, l in zip(zip(*pieces), lines): 355 for p, l in zip(zip(*pieces), lines):
355 u.write(" ".join(p) + ": " + l[1]) 356 ui.write("%s: %s" % (" ".join(p), l[1]))
356 357
357 def cat(ui, repo, file1, rev=None, **opts): 358 def cat(ui, repo, file1, rev=None, **opts):
358 """output the latest or given revision of a file""" 359 """output the latest or given revision of a file"""
359 r = repo.file(relpath(repo, [file1])[0]) 360 r = repo.file(relpath(repo, [file1])[0])
360 if rev: 361 if rev: