site

(Pierre-Yves David)
2011-07-01: Automatically publish on tag.

Automatically publish on tag.

diff --git a/states.py b/states.py
--- a/states.py
+++ b/states.py
@@ -193,8 +193,9 @@ def reposetup(ui, repo):
         return
 
     ocancopy =repo.cancopy
-    opull =repo.pull
-    opush =repo.push
+    opull = repo.pull
+    opush = repo.push
+    o_tag = repo._tag
     class statefulrepo(repo.__class__):
 
         def nodestate(self, node):
@@ -332,5 +333,10 @@ def reposetup(ui, repo):
                 remote = map(node.bin, remote.listkeys('immutableheads'))
             return remote
 
+        def _tag(self, names, node, *args, **kwargs):
+            tagnode = o_tag(names, node, *args, **kwargs)
+            self.setstate(ST0, [node, tagnode])
+            return tagnode
+
     repo.__class__ = statefulrepo
 
diff --git a/tests/test-ready.t b/tests/test-ready.t
--- a/tests/test-ready.t
+++ b/tests/test-ready.t
@@ -127,3 +127,20 @@ Freeze in beta and push to alpha:
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     add c
   
+  $ hg tag -fr tip babar
+  $ hg log -r 'publishedheads()'
+  changeset:   5:cdaaa31e4239
+  tag:         babar
+  parent:      3:090483935bca
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     add e
+  
+  changeset:   6:bd66bf1525ee
+  tag:         tip
+  parent:      4:fb98f3f5bba0
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     Added tag babar for changeset cdaaa31e4239
+  
+