mercurial/commands.py
changeset 771 0de223012086
parent 770 b3820ce0e88a
child 773 d77c1031fd17
equal deleted inserted replaced
770:b3820ce0e88a 771:0de223012086
   377     else:
   377     else:
   378         node = repo.dirstate.parents()[0]
   378         node = repo.dirstate.parents()[0]
   379     change = repo.changelog.read(node)
   379     change = repo.changelog.read(node)
   380     mmap = repo.manifest.read(change[0])
   380     mmap = repo.manifest.read(change[0])
   381     for src, abs, rel in walk(repo, pats, opts):
   381     for src, abs, rel in walk(repo, pats, opts):
       
   382         if abs not in mmap:
       
   383             ui.warn("warning: %s is not in the repository!\n" % rel)
       
   384             continue
       
   385 
   382         lines = repo.file(abs).annotate(mmap[abs])
   386         lines = repo.file(abs).annotate(mmap[abs])
   383         pieces = []
   387         pieces = []
   384 
   388 
   385         for o, f in opmap:
   389         for o, f in opmap:
   386             if opts[o]:
   390             if opts[o]:
   387                 l = [f(n) for n, dummy in lines]
   391                 l = [f(n) for n, dummy in lines]
   388                 m = max(map(len, l))
   392                 if l:
   389                 pieces.append(["%*s" % (m, x) for x in l])
   393                     m = max(map(len, l))
   390 
   394                     pieces.append(["%*s" % (m, x) for x in l])
   391         for p, l in zip(zip(*pieces), lines):
   395 
   392             ui.write("%s: %s" % (" ".join(p), l[1]))
   396         if pieces:
       
   397             for p, l in zip(zip(*pieces), lines):
       
   398                 ui.write("%s: %s" % (" ".join(p), l[1]))
   393 
   399 
   394 def cat(ui, repo, file1, rev=None, **opts):
   400 def cat(ui, repo, file1, rev=None, **opts):
   395     """output the latest or given revision of a file"""
   401     """output the latest or given revision of a file"""
   396     r = repo.file(relpath(repo, [file1])[0])
   402     r = repo.file(relpath(repo, [file1])[0])
   397     if rev:
   403     if rev: