[PATCH] hg tag: run tag hook just once

John Coomes John.Coomes at sun.com
Tue Dec 18 16:59:09 CST 2007


Here's the standalone patch to remove the extra call to the tag hook
for global tags.


# HG changeset patch
# User John Coomes <john.coomes at sun.com>
# Date 1198010730 28800
# Node ID 29952da0937d7e9e6268f851782bbd279ba92d95
# Parent  04c76f296ad6f8e32180d6c0fd3982e5faaff3cd
hg tag: run tag hook just once

diff -r 04c76f296ad6 -r 29952da0937d mercurial/localrepo.py
--- a/mercurial/localrepo.py	Mon Dec 10 10:26:42 2007 -0600
+++ b/mercurial/localrepo.py	Tue Dec 18 12:45:30 2007 -0800
@@ -122,7 +122,6 @@ class localrepository(repo.repository):
                 fp.write('\n')
             fp.write('%s %s\n' % (hex(node), munge and munge(name) or name))
             fp.close()
-            self.hook('tag', node=hex(node), tag=name, local=local)
 
         prevtags = ''
         if local:
@@ -135,6 +134,7 @@ class localrepository(repo.repository):
 
             # local tags are stored in the current charset
             writetag(fp, name, None, prevtags)
+            self.hook('tag', node=hex(node), tag=name, local=local)
             return
 
         if use_dirstate:
diff -r 04c76f296ad6 -r 29952da0937d tests/test-hook.out
--- a/tests/test-hook.out	Mon Dec 10 10:26:42 2007 -0600
+++ b/tests/test-hook.out	Tue Dec 18 12:45:30 2007 -0800
@@ -40,7 +40,6 @@ added 3 changesets with 2 changes to 2 f
 added 3 changesets with 2 changes to 2 files
 (run 'hg update' to get a working copy)
 pretag hook: HG_LOCAL=0 HG_NODE=4c52fb2e402287dd5dc052090682536c8406c321 HG_TAG=a 
-tag hook: HG_LOCAL=0 HG_NODE=4c52fb2e402287dd5dc052090682536c8406c321 HG_TAG=a 
 precommit hook: HG_PARENT1=4c52fb2e402287dd5dc052090682536c8406c321 
 pretxncommit hook: HG_NODE=8ea2ef7ad3e8cac946c72f1e0c79d6aebc301198 HG_PARENT1=4c52fb2e402287dd5dc052090682536c8406c321 
 4:8ea2ef7ad3e8





More information about the Mercurial-devel mailing list