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 <ja...@physik-pool.tu-berlin.de>
>> diff --git a/templates/hooks--pre-push.sample
>> old mode 100644
>> new mode 100755
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
>> -# with "WIP" (work in progress).
>> +# This sample shows how to prevent pushing commits without good GPG
> 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.
> 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=' '
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" |
> while read sign commit
> test "$sign" = G && continue
> echo "Commit $commit does not have a good GPG
> exit $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
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html