changeset 2656:e57df017640d

Merge with crew
author Matt Mackall <mpm@selenic.com>
date Sun, 23 Jul 2006 14:00:29 -0500
parents ddf404954092 (current diff) 56e98084e040 (diff)
children 6024216754f4
files mercurial/commands.py
diffstat 5 files changed, 17 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -2666,7 +2666,7 @@ def tag(ui, repo, name, rev_=None, **opt
     very useful to compare different revision, to go back to significant
     earlier versions or to mark branch points as releases, etc.
 
-    If no revision is given, the tip is used.
+    If no revision is given, the parent of the working directory is used.
 
     To facilitate version control, distribution, and merging of tags,
     they are stored as a file named ".hgtags" which is managed
@@ -2686,7 +2686,12 @@ def tag(ui, repo, name, rev_=None, **opt
     if rev_:
         r = hex(repo.lookup(rev_))
     else:
-        r = hex(repo.changelog.tip())
+        p1, p2 = repo.dirstate.parents()
+        if p1 == nullid:
+            raise util.Abort(_('no revision to tag'))
+        if p2 != nullid:
+            raise util.Abort(_('outstanding uncommitted merges'))
+        r = hex(p1)
 
     repo.tag(name, r, opts['local'], opts['message'], opts['user'],
              opts['date'])
--- a/mercurial/hgweb/server.py
+++ b/mercurial/hgweb/server.py
@@ -198,6 +198,7 @@ def create_server(ui, repo):
             self.webdirmaker = hgwebdir
             self.repoviewmaker = hgweb
             self.reqmaker = wsgiapplication(self.make_handler)
+            self.daemon_threads = True
 
         def make_handler(self):
             if self.webdir_conf:
--- a/mercurial/templater.py
+++ b/mercurial/templater.py
@@ -241,6 +241,7 @@ def nl2br(text):
     return text.replace('\n', '<br/>\n')
 
 def obfuscate(text):
+    text = unicode(text, 'utf-8', 'replace')
     return ''.join(['&#%d;' % ord(c) for c in text])
 
 def domain(author):
--- a/tests/test-tag
+++ b/tests/test-tag
@@ -19,6 +19,11 @@ hg tag -l -d "1000000 0" "bleah1" 1
 cat .hgtags
 cat .hg/localtags
 
+hg update 0
+hg tag -d "1000000 0" "foobar"
+cat .hgtags
+cat .hg/localtags
+
 hg tag -l 'xx
 newline'
 hg tag -l 'xx:xx'
--- a/tests/test-tag.out
+++ b/tests/test-tag.out
@@ -25,5 +25,8 @@ use of 'hg tag NAME [REV]' is deprecated
 0acdaf8983679e0aac16e811534eb49d7ee1f2b4 bleah
 0acdaf8983679e0aac16e811534eb49d7ee1f2b4 bleah0
 c5c60883086f5526bd3e36814b94a73a4e75e172 bleah1
+0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+0acdaf8983679e0aac16e811534eb49d7ee1f2b4 foobar
+c5c60883086f5526bd3e36814b94a73a4e75e172 bleah1
 abort: '\n' cannot be used in a tag name
 abort: ':' cannot be used in a tag name