# HG changeset patch # User Thomas Arendsen Hein # Date 2006-12-16 22:11:16 # Node ID b1806b211910015d08b9d85fb16f71f22493654f # Parent 3c82ab166eea9e1562f7fa5999dc94c95cf6384c Make 'hg sign' behave like other commands: Default to current parent. diff --git a/hgext/gpg.py b/hgext/gpg.py --- a/hgext/gpg.py +++ b/hgext/gpg.py @@ -194,14 +194,25 @@ def keystr(ui, key): return user def sign(ui, repo, *revs, **opts): - """add a signature for the current tip or a given revision""" + """add a signature for the current or given revision + + If no revision is given, the parent of the working directory is used, + or tip if no revision is checked out. + """ + mygpg = newgpg(ui, **opts) sigver = "0" sigmessage = "" if revs: nodes = [repo.lookup(n) for n in revs] else: - nodes = [repo.changelog.tip()] + nodes = [node for node in repo.dirstate.parents() + if node != hgnode.nullid] + if len(nodes) > 1: + raise util.Abort(_('uncommitted merge - please provide a ' + 'specific revision')) + if not nodes: + nodes = [repo.changelog.tip()] for n in nodes: hexnode = hgnode.hex(n)