[PATCH 1 of 2] Adding GPG signature comments

Pierre THIERRY nowhere.man at levallois.eu.org
Fri Aug 31 15:47:52 CDT 2007


# HG changeset patch
# User Pierre THIERRY <nowhere.man at levallois.eu.org>
# Date 1188586519 -7200
# Node ID f1159b971cdeea750f3037ff9c7dee0cbeff78cf
# Parent  694eb9ccb54d9f9c2e63a65368df0fdc9843f98f
Adding GPG signature comments

diff -r 694eb9ccb54d -r f1159b971cde hgext/gpg.py
--- a/hgext/gpg.py	Fri Aug 31 13:14:03 2007 +0200
+++ b/hgext/gpg.py	Fri Aug 31 20:55:19 2007 +0200
@@ -80,14 +80,14 @@ def sigwalk(repo):
 def sigwalk(repo):
     """
     walk over every sigs, yields a couple
-    ((node, version, sig), (filename, linenumber))
+    ((node, version, sig, comment), (filename, linenumber))
     """
     def parsefile(fileiter, context):
         ln = 1
         for l in fileiter:
             if not l:
                 continue
-            yield (l.split(" ", 2), (context, ln))
+            yield (l.split(" ", 3), (context, ln))
             ln +=1
 
     fl = repo.file(".hgsigs")
@@ -109,7 +109,7 @@ def getkeys(ui, repo, mygpg, sigdata, co
 def getkeys(ui, repo, mygpg, sigdata, context):
     """get the keys who signed a data"""
     fn, ln = context
-    node, version, sig = sigdata
+    node, version, sig, comment = sigdata
     prefix = "%s:%d" % (fn, ln)
     node = hgnode.bin(node)
 
@@ -141,7 +141,7 @@ def sigs(ui, repo):
     revs = {}
 
     for data, context in sigwalk(repo):
-        node, version, sig = data
+        node, version, sig, comment = data
         fn, ln = context
         try:
             n = repo.lookup(node)
@@ -169,7 +169,7 @@ def check(ui, repo, rev):
     keys = []
 
     for data, context in sigwalk(repo):
-        node, version, sig = data
+        node, version, sig, comment = data
         if node == hexrev:
             k = getkeys(ui, repo, mygpg, data, context)
             if k:
@@ -225,7 +225,10 @@ def sign(ui, repo, *revs, **opts):
             raise util.Abort(_("Error while signing"))
         sig = binascii.b2a_base64(sig)
         sig = sig.replace("\n", "")
-        sigmessage += "%s %s %s\n" % (hexnode, sigver, sig)
+        comment = ""
+        if opts['comment']:
+            comment = opts['comment'].replace("\n", "")
+        sigmessage += "%s %s %s %s\n" % (hexnode, sigver, sig, comment)
 
     # write it
     if opts['local']:
@@ -271,6 +274,7 @@ cmdtable = {
           ('', 'no-commit', None, _('do not commit the sigfile after signing')),
           ('k', 'key', '', _('the key id to sign with')),
           ('m', 'message', '', _('commit message')),
+          ('c', 'comment', '', _('signature comment')),
          ] + commands.commitopts2,
          _('hg sign [OPTION]... [REVISION]...')),
     "sigcheck": (check, [], _('hg sigcheck REVISION')),



More information about the Mercurial-devel mailing list