--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -403,17 +403,15 @@ class changeset_printer(object):
changes = log.read(changenode)
date = util.datestr(changes[2])
- parents = [(log.rev(p), self.ui.verbose and hex(p) or short(p))
- for p in log.parents(changenode)
+ hexfunc = self.ui.debugflag and hex or short
+
+ parents = [(log.rev(p), hexfunc(p)) for p in log.parents(changenode)
if self.ui.debugflag or p != nullid]
if (not self.ui.debugflag and len(parents) == 1 and
parents[0][0] == rev-1):
parents = []
- if self.ui.verbose:
- self.ui.write(_("changeset: %d:%s\n") % (rev, hex(changenode)))
- else:
- self.ui.write(_("changeset: %d:%s\n") % (rev, short(changenode)))
+ self.ui.write(_("changeset: %d:%s\n") % (rev, hexfunc(changenode)))
for tag in self.repo.nodetags(changenode):
self.ui.status(_("tag: %s\n") % tag)
@@ -1611,7 +1609,7 @@ def identify(ui, repo):
ui.write(_("unknown\n"))
return
- hexfunc = ui.verbose and hex or short
+ hexfunc = ui.debugflag and hex or short
modified, added, removed, deleted = repo.status()[:4]
output = ["%s%s" %
('+'.join([hexfunc(parent) for parent in parents]),
@@ -2601,17 +2599,20 @@ def tag(ui, repo, name, rev_=None, **opt
if opts['rev']:
rev_ = opts['rev']
if rev_:
- r = hex(repo.lookup(rev_))
+ r = repo.lookup(rev_)
else:
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'])
+ r = p1
+
+ message = opts['message']
+ if not message:
+ message = _('Added tag %s for changeset %s') % (name, short(r))
+
+ repo.tag(name, r, message, opts['local'], opts['user'], opts['date'])
def tags(ui, repo):
"""list repository tags
@@ -2623,9 +2624,10 @@ def tags(ui, repo):
l = repo.tagslist()
l.reverse()
+ hexfunc = ui.debugflag and hex or short
for t, n in l:
try:
- r = "%5d:%s" % (repo.changelog.rev(n), hex(n))
+ r = "%5d:%s" % (repo.changelog.rev(n), hexfunc(n))
except KeyError:
r = " ?:?"
if ui.quiet: