tag: don't check .hgtags status if --local passed stable
authorKevin Bullock <kbullock@ringworld.org>
Mon, 13 Dec 2010 21:20:30 -0600
branchstable
changeset 13133 c1492615cdee
parent 13128 dbc546811dd6
child 13134 ea3c93b53fdb
tag: don't check .hgtags status if --local passed Local tags don't create a commit, so we don't need to check the status of .hgtags.
mercurial/localrepo.py
tests/test-tag.t
--- a/mercurial/localrepo.py	Mon Dec 13 11:51:01 2010 -0600
+++ b/mercurial/localrepo.py	Mon Dec 13 21:20:30 2010 -0600
@@ -296,10 +296,11 @@
 
         date: date tuple to use if committing'''
 
-        for x in self.status()[:5]:
-            if '.hgtags' in x:
-                raise util.Abort(_('working copy of .hgtags is changed '
-                                   '(please commit .hgtags manually)'))
+        if not local:
+            for x in self.status()[:5]:
+                if '.hgtags' in x:
+                    raise util.Abort(_('working copy of .hgtags is changed '
+                                       '(please commit .hgtags manually)'))
 
         self.tags() # instantiate the cache
         self._tag(names, node, message, local, user, date)
--- a/tests/test-tag.t	Mon Dec 13 11:51:01 2010 -0600
+++ b/tests/test-tag.t	Mon Dec 13 21:20:30 2010 -0600
@@ -196,3 +196,15 @@
   $ hg log -l1 --template "{desc}\n"
   custom tag message
   second line
+
+local tag with .hgtags modified
+
+  $ hg tag hgtags-modified
+  $ hg rollback
+  rolling back to revision 11 (undo commit)
+  $ hg st
+  M .hgtags
+  ? .hgtags.orig
+  ? editor
+  $ hg tag --local baz
+  $ hg revert --no-backup .hgtags