Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/commands.py @ 1147:d32b91ebad5d
Merge with TAH.
author | bos@serpentine.internal.keyresearch.com |
---|---|
date | Mon, 29 Aug 2005 10:31:41 -0700 |
parents | 9061f79c6c6f 899b619a7eb2 |
children | 862f53c1d0f9 |
comparison
equal
deleted
inserted
replaced
1146:9061f79c6c6f | 1147:d32b91ebad5d |
---|---|
295 for f in d: | 295 for f in d: |
296 to = repo.file(f).read(mmap[f]) | 296 to = repo.file(f).read(mmap[f]) |
297 tn = None | 297 tn = None |
298 fp.write(mdiff.unidiff(to, date1, tn, date2, f, r, text=text)) | 298 fp.write(mdiff.unidiff(to, date1, tn, date2, f, r, text=text)) |
299 | 299 |
300 def trimuser(ui, rev, name, revcache): | 300 def trimuser(ui, name, rev, revcache): |
301 """trim the name of the user who committed a change""" | 301 """trim the name of the user who committed a change""" |
302 try: | 302 user = revcache.get(rev) |
303 return revcache[rev] | 303 if user is None: |
304 except KeyError: | 304 user = revcache[rev] = ui.shortuser(name) |
305 if not ui.verbose: | 305 return user |
306 f = name.find('@') | |
307 if f >= 0: | |
308 name = name[:f] | |
309 f = name.find('<') | |
310 if f >= 0: | |
311 name = name[f+1:] | |
312 revcache[rev] = name | |
313 return name | |
314 | 306 |
315 def show_changeset(ui, repo, rev=0, changenode=None, brinfo=None): | 307 def show_changeset(ui, repo, rev=0, changenode=None, brinfo=None): |
316 """show a single changeset or file revision""" | 308 """show a single changeset or file revision""" |
317 log = repo.changelog | 309 log = repo.changelog |
318 if changenode is None: | 310 if changenode is None: |
515 return short(repo.changelog.node(rev)) | 507 return short(repo.changelog.node(rev)) |
516 | 508 |
517 ucache = {} | 509 ucache = {} |
518 def getname(rev): | 510 def getname(rev): |
519 cl = repo.changelog.read(repo.changelog.node(rev)) | 511 cl = repo.changelog.read(repo.changelog.node(rev)) |
520 return trimuser(ui, rev, cl[1], ucache) | 512 return trimuser(ui, cl[1], rev, ucache) |
521 | 513 |
522 if not pats: | 514 if not pats: |
523 raise util.Abort('at least one file name or pattern required') | 515 raise util.Abort('at least one file name or pattern required') |
524 | 516 |
525 opmap = [['user', getname], ['number', str], ['changeset', getnode]] | 517 opmap = [['user', getname], ['number', str], ['changeset', getnode]] |
628 | 620 |
629 else: | 621 else: |
630 repo = hg.repository(ui, dest, create=1) | 622 repo = hg.repository(ui, dest, create=1) |
631 repo.pull(other) | 623 repo.pull(other) |
632 | 624 |
633 f = repo.opener("hgrc", "w") | 625 f = repo.opener("hgrc", "a") |
634 f.write("[paths]\n") | 626 f.write("\n[paths]\n") |
635 f.write("default = %s\n" % abspath) | 627 f.write("default = %s\n" % abspath) |
636 | 628 |
637 if not opts['noupdate']: | 629 if not opts['noupdate']: |
638 update(ui, repo) | 630 update(ui, repo) |
639 | 631 |
724 for file_ in keys: | 716 for file_ in keys: |
725 ui.write("%c %3o %10d %s %s\n" | 717 ui.write("%c %3o %10d %s %s\n" |
726 % (dc[file_][0], dc[file_][1] & 0777, dc[file_][2], | 718 % (dc[file_][0], dc[file_][1] & 0777, dc[file_][2], |
727 time.strftime("%x %X", | 719 time.strftime("%x %X", |
728 time.localtime(dc[file_][3])), file_)) | 720 time.localtime(dc[file_][3])), file_)) |
729 ui.write("\n") | |
730 for f in repo.dirstate.copies: | 721 for f in repo.dirstate.copies: |
731 ui.write("%s -> %s\n" % (repo.dirstate.copies[f], f)) | 722 ui.write("copy: %s -> %s\n" % (repo.dirstate.copies[f], f)) |
732 | 723 |
733 def debugdata(ui, file_, rev): | 724 def debugdata(ui, file_, rev): |
734 """dump the contents of an data file revision""" | 725 """dump the contents of an data file revision""" |
735 r = revlog.revlog(file, file_[:-2] + ".i", file_) | 726 r = revlog.revlog(file, file_[:-2] + ".i", file_) |
736 ui.write(r.revision(r.lookup(rev))) | 727 ui.write(r.revision(r.lookup(rev))) |
920 change = ((l in states) and '-') or '+' | 911 change = ((l in states) and '-') or '+' |
921 r = prev[fn] | 912 r = prev[fn] |
922 cols = [fn, str(rev)] | 913 cols = [fn, str(rev)] |
923 if opts['line_number']: cols.append(str(l.linenum)) | 914 if opts['line_number']: cols.append(str(l.linenum)) |
924 if opts['every_match']: cols.append(change) | 915 if opts['every_match']: cols.append(change) |
925 if opts['user']: cols.append(trimuser(ui, rev, getchange(rev)[1], | 916 if opts['user']: cols.append(trimuser(ui, getchange(rev)[1], rev, |
926 ucache)) | 917 ucache)) |
927 if opts['files_with_matches']: | 918 if opts['files_with_matches']: |
928 c = (fn, rev) | 919 c = (fn, rev) |
929 if c in filerevmatches: continue | 920 if c in filerevmatches: continue |
930 filerevmatches[c] = 1 | 921 filerevmatches[c] = 1 |