public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: "Sebastian Götte" <jaseg@physik•tu-berlin.de>
To: gitster@pobox•com
Cc: git@vger•kernel.org, joel@trustly•com, git@drmicha•warpmail.net
Subject: [PATCH v2 0/1] templates: pre-push hook: check for missing GPG signatures
Date: Thu, 25 Apr 2013 14:19:13 +0200	[thread overview]
Message-ID: <51791F41.3040203@physik.tu-berlin.de> (raw)
In-Reply-To: <7vppxjbt6t.fsf_-_@alter.siamese.dyndns.org>

On 04/24/2013 09:54 PM, Junio C Hamano wrote:
> None of the above is part of a proper commit log message, is it?
Fixed (I hope)

>> Signed-off-by: Sebastian Götte <jaseg@physik-pool•tu-berlin.de>
>> diff --git a/templates/hooks--pre-push.sample b/templates/hooks--pre-push.sample
>> old mode 100644
>> new mode 100755
> Why?
According to man githooks(5):
>It is also a requirement for a given hook to be executable. However - in a
>freshly initialized repository - the .sample files are executable by default.
This file is the only one in templates/ that was not executable, so I assume
this was a mistake.

>> index 15ab6d8..08a72df
>> --- a/templates/hooks--pre-push.sample
>> +++ b/templates/hooks--pre-push.sample
>> -# This sample shows how to prevent push of commits where the log message starts
>> -# with "WIP" (work in progress).
>> +# This sample shows how to prevent pushing commits without good GPG signatures
> What justifies to remove existing demonstration?  It is far easier
> for the end users to remove parts that do not apply to their needs,
> than coming up with a solution to add themselves without help from
> an example.
re-added it.

>> +ec=0
> I think it is more customary to call this kind of variable "ret" or
> "retval", not an abbreviation for "european commission" ;-).
renamed it to "exitcode".

>> -IFS=' '
> Why?
Otherwise in the for-loop below the output of the pipe chain is not correctly
split by newlines. Also AFAIK, this is not needed: I think the default
'<space><tab><newline>' is just fine here.
 
>> +		commits=`git log --format="%G? %h" "$range" | grep -v '^G' | cut -d\  -f2`
> Useless use of cut.  You could do
I just tried this, but I really want the script to output a list of *all*
offending commits (instead of exiting on the first problem). For this I need
the exitcode variable, but since at least bash executes the while loop in a
subshell due to the preceding pipe, I have some issues getting that out of the
subshell. This is what the code looked like without grep/cut:
># Check for missing good GPG signatures
>git log --format="%G? %h" "$range" |
>(
>                exitcode=0
>                while read sign commit
>                do
>                                test "$sign" = G && continue
>                                echo "Commit $commit does not have a good GPG signature"
>                                exitcode=1
>                done
>                exit $exitcode
>)
>let exitcode=exitcode\|$?
This is less readable and only spawns one process less.

Sebastian Götte (1):
  templates: pre-push hook: check for missing GPG signatures

 templates/hooks--pre-push.sample | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)
 mode change 100644 => 100755 templates/hooks--pre-push.sample

-- 
1.8.2

  reply	other threads:[~2013-04-25 12:19 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAASwCXf3YHmdQ_eSkShyzn5VniO=ufm3VTqV1JVOUN610bzE_A@mail.gmail.com>
2013-04-22 23:43 ` [PATCH] Add .gitconfig variable commit.gpg-sign Junio C Hamano
2013-04-23  0:00   ` Joel Jacobson
2013-04-23 11:37     ` Michael J Gruber
2013-04-23 17:53       ` Junio C Hamano
2013-04-23 17:58         ` Joel Jacobson
2013-04-23 19:25           ` Junio C Hamano
2013-04-23 19:56             ` Joel Jacobson
2013-04-24  8:53               ` Sebastian Götte
2013-04-24  9:51                 ` Michael J Gruber
2013-04-24 17:30                   ` [PATCH 1/1] templates: pre-push hook: check for missing GPG signatures (was: Re: [PATCH] Add .gitconfig variable commit.gpg-sign) Sebastian Götte
2013-04-24 19:54                     ` [PATCH 1/1] templates: pre-push hook: check for missing GPG signatures Junio C Hamano
2013-04-25 12:19                       ` Sebastian Götte [this message]
2013-04-25 16:50                         ` [PATCH v2 0/1] " Junio C Hamano
     [not found]                       ` <cover.1366890748.git.jaseg@physik-pool.tu-berlin.de>
2013-04-25 12:19                         ` [PATCH v2 1/1] " Sebastian Götte
2013-04-23 14:01   ` [PATCH] Add .gitconfig variable commit.gpg-sign Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51791F41.3040203@physik.tu-berlin.de \
    --to=jaseg@physik$(echo .)tu-berlin.de \
    --cc=git@drmicha$(echo .)warpmail.net \
    --cc=git@vger$(echo .)kernel.org \
    --cc=gitster@pobox$(echo .)com \
    --cc=joel@trustly$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox