Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commands.py @ 2601:00fc88b0b256
move most of tag code to localrepository class.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Wed, 12 Jul 2006 08:59:20 -0700 |
parents | c4325f0a9b91 |
children | 479e26afa10f 0b4bff2b0ce3 e196aa1df169 |
comparison
equal
deleted
inserted
replaced
2600:c4325f0a9b91 | 2601:00fc88b0b256 |
---|---|
2651 if rev_: | 2651 if rev_: |
2652 r = hex(repo.lookup(rev_)) | 2652 r = hex(repo.lookup(rev_)) |
2653 else: | 2653 else: |
2654 r = hex(repo.changelog.tip()) | 2654 r = hex(repo.changelog.tip()) |
2655 | 2655 |
2656 disallowed = (revrangesep, '\r', '\n') | 2656 repo.tag(name, r, opts['local'], opts['message'], opts['user'], |
2657 for c in disallowed: | 2657 opts['date']) |
2658 if c in name: | |
2659 raise util.Abort(_("%s cannot be used in a tag name") % repr(c)) | |
2660 | |
2661 repo.hook('pretag', throw=True, node=r, tag=name, | |
2662 local=int(not not opts['local'])) | |
2663 | |
2664 if opts['local']: | |
2665 repo.opener("localtags", "a").write("%s %s\n" % (r, name)) | |
2666 repo.hook('tag', node=r, tag=name, local=1) | |
2667 return | |
2668 | |
2669 for x in repo.changes(): | |
2670 if ".hgtags" in x: | |
2671 raise util.Abort(_("working copy of .hgtags is changed " | |
2672 "(please commit .hgtags manually)")) | |
2673 | |
2674 repo.wfile(".hgtags", "ab").write("%s %s\n" % (r, name)) | |
2675 if repo.dirstate.state(".hgtags") == '?': | |
2676 repo.add([".hgtags"]) | |
2677 | |
2678 message = (opts['message'] or | |
2679 _("Added tag %s for changeset %s") % (name, r)) | |
2680 try: | |
2681 repo.commit([".hgtags"], message, opts['user'], opts['date']) | |
2682 repo.hook('tag', node=r, tag=name, local=0) | |
2683 except ValueError, inst: | |
2684 raise util.Abort(str(inst)) | |
2685 | 2658 |
2686 def tags(ui, repo): | 2659 def tags(ui, repo): |
2687 """list repository tags | 2660 """list repository tags |
2688 | 2661 |
2689 List the repository tags. | 2662 List the repository tags. |