This is an automated email from the git hooks/post-receive script.

gwolf pushed a commit to branch master
in repository devscripts.

commit 3d177b8684dc690916f10056da120233cc97da49
Author: Gunnar Wolf <[email protected]>
Date:   Fri Mar 7 13:06:00 2014 -0600

    debcommit: Add switch+conf.setting allowing to specify Git to sign every 
single commit (Closes: #741040)
---
 debian/changelog     |  4 ++++
 scripts/debcommit.pl | 23 +++++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 179d011..b00aa6a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -14,6 +14,10 @@ devscripts (2.14.2) UNRELEASED; urgency=medium
   [ Cyril Brulebois ]
   * deb-reversion: Add support for udebs.  (Closes: #739437)
 
+  [ Gunnar Wolf ]
+  * debcommit: Add switch+conf.setting allowing to specify Git to sign
+    every single commit (Closes: #741040)
+
  -- Jakub Wilk <[email protected]>  Sun, 26 Jan 2014 21:50:35 +0100
 
 devscripts (2.14.1) unstable; urgency=medium
diff --git a/scripts/debcommit.pl b/scripts/debcommit.pl
index d11628e..020fdb7 100755
--- a/scripts/debcommit.pl
+++ b/scripts/debcommit.pl
@@ -82,6 +82,11 @@ the message.
 This option is set by default and ignored if more than one line of
 the message begins with "[*+-] ".
 
+=item B<--sign-commit>, B<--no-sign-commit>
+
+If this option is set, then the commits that debcommit creates will be
+signed using gnupg. Currently this is only supported by git.
+
 =item B<--sign-tags>, B<--no-sign-tags>
 
 If this option is set, then tags that debcommit creates will be signed
@@ -116,6 +121,11 @@ command line parameter being used. The default is I<yes>.
 If this is set to I<yes>, then it is the same as the B<--sign-tags> command
 line parameter being used. The default is I<no>.
 
+=item B<DEBCOMMIT_SIGN_COMMITS>
+
+If this is set to I<yes>, then it is the same as the B<--sign-commit>
+command line parameter being used. The default is I<no>.
+
 =item B<DEBCOMMIT_RELEASE_USE_CHANGELOG>
 
 If this is set to I<yes>, then it is the same as the B<--release-use-changelog>
@@ -204,6 +214,8 @@ Options:
    -a --all            Commit all files (default except for git)
    -s --strip-message  Strip the leading '* ' from the commit message
    --no-strip-message  Do not strip a leading '* ' (default)
+   --sign-commit       Enable signing of the commit (git only)
+   --no-sign-commit    Do not sign the commit (default)
    --sign-tags         Enable signing of tags (git only)
    --no-sign-tags      Do not sign tags (default)
    --changelog-info    Use author and date information from the changelog
@@ -240,6 +252,7 @@ my $confirm=0;
 my $edit=0;
 my $all=0;
 my $stripmessage=1;
+my $signcommit=0;
 my $signtags=0;
 my $changelog;
 my $changelog_info=0;
@@ -257,6 +270,7 @@ if (@ARGV and $ARGV[0] =~ /^--no-?conf$/) {
     my @config_files = ('/etc/devscripts.conf', '~/.devscripts');
     my %config_vars = (
                       'DEBCOMMIT_STRIP_MESSAGE' => 'yes',
+                      'DEBCOMMIT_SIGN_COMMITS' => 'no',
                       'DEBCOMMIT_SIGN_TAGS' => 'no',
                       'DEBCOMMIT_RELEASE_USE_CHANGELOG' => 'no',
                       'DEBSIGN_KEYID' => '',
@@ -278,6 +292,8 @@ if (@ARGV and $ARGV[0] =~ /^--no-?conf$/) {
     # Check validity
     $config_vars{'DEBCOMMIT_STRIP_MESSAGE'} =~ /^(yes|no)$/
        or $config_vars{'DEBCOMMIT_STRIP_MESSAGE'}='yes';
+    $config_vars{'DEBCOMMIT_SIGN_COMMITS'} =~ /^(yes|no)$/
+       or $config_vars{'DEBCOMMIT_SIGN_COMMITS'}='no';
     $config_vars{'DEBCOMMIT_SIGN_TAGS'} =~ /^(yes|no)$/
        or $config_vars{'DEBCOMMIT_SIGN_TAGS'}='no';
     $config_vars{'DEBCOMMIT_RELEASE_USE_CHANGELOG'} =~ /^(yes|no)$/
@@ -292,6 +308,7 @@ if (@ARGV and $ARGV[0] =~ /^--no-?conf$/) {
     chomp $modified_conf_msg;
 
     $stripmessage = $config_vars{'DEBCOMMIT_STRIP_MESSAGE'} eq 'no' ? 0 : 1;
+    $signcommit = $config_vars{'DEBCOMMIT_SIGN_COMMITS'} eq 'no' ? 0 : 1;
     $signtags = $config_vars{'DEBCOMMIT_SIGN_TAGS'} eq 'no' ? 0 : 1;
     $release_use_changelog = $config_vars{'DEBCOMMIT_RELEASE_USE_CHANGELOG'} 
eq 'no' ? 0 : 1;
     if (exists $config_vars{'DEBSIGN_KEYID'} &&
@@ -321,6 +338,7 @@ if (! GetOptions(
                 "a|all" => \$all,
                 "c|changelog=s" => \$changelog,
                 "s|strip-message!" => \$stripmessage,
+                "sign-commit!" => \$signcommit,
                 "sign-tags!" => \$signtags,
                 "changelog-info!" => \$changelog_info,
                 "R|release-use-changelog!" => \$release_use_changelog,
@@ -535,6 +553,11 @@ sub commit {
            if ($changelog_info) {
                @extra_args = ("--author=$maintainer", "--date=$date");
            }
+           if ($signcommit) {
+               my $sign = '-gpg--sign';
+               $sign .= "=$keyid" if $keyid;
+               push(@extra_args, $sign);
+           }
            $action_rc = action($prog, "commit", "-m", $message, @extra_args, 
@files_to_commit);
        }
     }

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/collab-maint/devscripts.git

_______________________________________________
devscripts-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/devscripts-devel

Reply via email to