diff hgext/gpg.py @ 3920:b12eae71382d

merge with crew-stable
author Thomas Arendsen Hein <thomas@intevation.de>
date Sat, 16 Dec 2006 23:36:06 +0100
parents 6b4127c7d52a b1806b211910
children
line wrap: on
line diff
--- a/hgext/gpg.py	Sat Dec 16 14:40:55 2006 +0100
+++ b/hgext/gpg.py	Sat Dec 16 23:36:06 2006 +0100
@@ -194,14 +194,25 @@
         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)