--- a/mercurial/commands.py Wed Jul 19 07:56:40 2006 -0700
+++ b/mercurial/commands.py Fri Jul 21 01:40:07 2006 +0200
@@ -2651,7 +2651,7 @@
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
@@ -2671,7 +2671,12 @@
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 uncommited merges'))
+ r = hex(p1)
repo.tag(name, r, opts['local'], opts['message'], opts['user'],
opts['date'])
--- a/tests/test-tag Wed Jul 19 07:56:40 2006 -0700
+++ b/tests/test-tag Fri Jul 21 01:40:07 2006 +0200
@@ -19,6 +19,11 @@
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 Wed Jul 19 07:56:40 2006 -0700
+++ b/tests/test-tag.out Fri Jul 21 01:40:07 2006 +0200
@@ -25,5 +25,8 @@
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