Mercurial > hg
changeset 1720:55017891051b
add pretag and tag hooks.
pretag hook lets hook decide how tags can be named. tag hook is
notifier.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Tue, 14 Feb 2006 15:47:25 -0800 |
parents | 98072468ffde |
children | 801756d0ca84 |
files | doc/hgrc.5.txt mercurial/commands.py |
diffstat | 2 files changed, 14 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/hgrc.5.txt Tue Feb 14 15:37:27 2006 -0800 +++ b/doc/hgrc.5.txt Tue Feb 14 15:47:25 2006 -0800 @@ -159,6 +159,15 @@ precommit;; Run before starting a commit. Exit status 0 allows the commit to proceed. Non-zero status will cause the commit to fail. + pretag;; + Run before creating a tag. Exit status 0 allows the tag to be + created. Non-zero status will cause the tag to fail. ID of + changeset to tag in $NODE. Name of tag in $TAG. Tag is local if + $LOCAL=1, in repo if $LOCAL=0. + tag;; + Run after a tag is created. ID of tagged changeset in $NODE. + Name of tag in $TAG. Tag is local if $LOCAL=1, in repo if + $LOCAL=0. http_proxy:: Used to access web-based Mercurial repositories through a HTTP
--- a/mercurial/commands.py Tue Feb 14 15:37:27 2006 -0800 +++ b/mercurial/commands.py Tue Feb 14 15:47:25 2006 -0800 @@ -2113,8 +2113,12 @@ if name.find(c) >= 0: raise util.Abort(_("%s cannot be used in a tag name") % repr(c)) + repo.hook('pretag', throw=True, node=r, tag=name, + local=not not opts['local']) + if opts['local']: repo.opener("localtags", "a").write("%s %s\n" % (r, name)) + repo.hook('tag', node=r, tag=name, local=1) return for x in repo.changes(): @@ -2130,6 +2134,7 @@ _("Added tag %s for changeset %s") % (name, r)) try: repo.commit([".hgtags"], message, opts['user'], opts['date']) + repo.hook('tag', node=r, tag=name, local=0) except ValueError, inst: raise util.Abort(str(inst))