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.