# [PATCH] post-receive-email hook: handle order of arguments consistently

4 messages from 2007-06-14 to 2007-08-07. Participants: Gerrit Pape, Andy Parkins.
Thread: https://gitlist.dev/t/8598

## Gerrit Pape, 2007-06-14 09:09

Subject: [PATCH] post-receive-email hook: handle order of arguments consistently
Message-ID: <20070614090929.31616.qmail@c76df6d65db410.315fe32.mid.smarden.org>
URL: https://gitlist.dev/e/20070614090929.31616.qmail%40c76df6d65db410.315fe32.mid.smarden.org

```
The post-receive-email hook usually gets its arguments through stdin, but
also supports them to be specified at the command line.  The order of the
arguments should consistently follow the documentation no matter how they
are passed to the script.

This was noticed and suggested by martin f krafft through
 http://bugs.debian.org/428413

Signed-off-by: Gerrit Pape <pape@smarden.org>
---
 contrib/hooks/post-receive-email |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/contrib/hooks/post-receive-email b/contrib/hooks/post-receive-email
index c589a39..f84532f 100644
--- a/contrib/hooks/post-receive-email
+++ b/contrib/hooks/post-receive-email
@@ -605,7 +605,7 @@ envelopesender=$(git-repo-config hooks.envelopesender)
 if [ -n "$1" -a -n "$2" -a -n "$3" ]; then
 	# Output to the terminal in command line mode - if someone wanted to
 	# resend an email; they could redirect the output to sendmail themselves
-	PAGER= generate_email $2 $3 $1
+	PAGER= generate_email $1 $2 $3
 else
 	if [ -n "$envelopesender" ]; then
 		envelopesender="-f '$envelopesender'"
-- 
1.5.2.1

```

## Andy Parkins, 2007-06-14 10:19

Subject: Re: [PATCH] post-receive-email hook: handle order of arguments consistently
Message-ID: <200706141119.18724.andyparkins@gmail.com>
URL: https://gitlist.dev/e/200706141119.18724.andyparkins%40gmail.com
In-Reply-To: <20070614090929.31616.qmail@c76df6d65db410.315fe32.mid.smarden.org>

```
On Thursday 2007 June 14, Gerrit Pape wrote:
> The post-receive-email hook usually gets its arguments through stdin, but
> also supports them to be specified at the command line.  The order of the
> arguments should consistently follow the documentation no matter how they
> are passed to the script.

That wasn't done casually.  It was done so that the same script would work as 
an update hook as well.

I have no objection to the change, as the update hook was not the right place 
for generating emails.  However, it let me use that same update hook on a 
system that did not have a git with support for the post-receive hook.


Andy
-- 
Dr Andy Parkins, M Eng (hons), MIET
andyparkins@gmail.com

```

## Gerrit Pape, 2007-08-07 13:58

Subject: [PATCH] post-receive-email hook: handle order of arguments consistently
Message-ID: <20070807135849.24926.qmail@49810ee852ce6e.315fe32.mid.smarden.org>
URL: https://gitlist.dev/e/20070807135849.24926.qmail%4049810ee852ce6e.315fe32.mid.smarden.org
In-Reply-To: <200706141119.18724.andyparkins@gmail.com>

```
The post-receive-email hook usually gets its arguments through stdin,
but also supports them to be specified at the command line.  The order
of the arguments should consistently follow the documentation no matter
how they are passed to the script.

This was noticed and suggested by martin f krafft through
 http://bugs.debian.org/428413

Signed-off-by: Gerrit Pape <pape@smarden.org>
---

On Thu, Jun 14, 2007 at 11:19:17AM +0100, Andy Parkins wrote:
> On Thursday 2007 June 14, Gerrit Pape wrote:
> > The post-receive-email hook usually gets its arguments through stdin, but
> > also supports them to be specified at the command line.  The order of the
> > arguments should consistently follow the documentation no matter how they
> > are passed to the script.
> 
> That wasn't done casually.  It was done so that the same script would work as 
> an update hook as well.
> 
> I have no objection to the change, as the update hook was not the right place 
> for generating emails.  However, it let me use that same update hook on a 
> system that did not have a git with support for the post-receive hook.

Hi, I suggest to apply this patch for 1.5.3.  Thanks, Gerrit.


 contrib/hooks/post-receive-email |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/contrib/hooks/post-receive-email b/contrib/hooks/post-receive-email
index c589a39..f84532f 100644
--- a/contrib/hooks/post-receive-email
+++ b/contrib/hooks/post-receive-email
@@ -605,7 +605,7 @@ envelopesender=$(git-repo-config hooks.envelopesender)
 if [ -n "$1" -a -n "$2" -a -n "$3" ]; then
 	# Output to the terminal in command line mode - if someone wanted to
 	# resend an email; they could redirect the output to sendmail themselves
-	PAGER= generate_email $2 $3 $1
+	PAGER= generate_email $1 $2 $3
 else
 	if [ -n "$envelopesender" ]; then
 		envelopesender="-f '$envelopesender'"
-- 
1.5.3.GIT

```

## Andy Parkins, 2007-08-07 17:38

Subject: Re: [PATCH] post-receive-email hook: handle order of arguments consistently
Message-ID: <200708071838.17999.andyparkins@gmail.com>
URL: https://gitlist.dev/e/200708071838.17999.andyparkins%40gmail.com
In-Reply-To: <20070807135849.24926.qmail@49810ee852ce6e.315fe32.mid.smarden.org>

```
On Tuesday 2007, August 07, Gerrit Pape wrote:
> The post-receive-email hook usually gets its arguments through stdin,
> but also supports them to be specified at the command line.  The order
> of the arguments should consistently follow the documentation no matter
> how they are passed to the script.


As I said the last time this was posted, this was done on purpose so that 
the command line arguments match the order of the arguments to the update 
hook.

Keeping them in that order allows the script to be used as an update hook in 
older versions of git.

Whether that is sensible or not is for Junio and the gang to decide; but 
there was good reason for doing it that way.  Also, I'm not sure what 
documentation you're talking about - use in command line mode is a bonus 
feature anyway, it's not necessary in normal hook mode anyway.  If you're 
going to be strict about matching documentation then the command line mode 
should be removed.



Andy

-- 
Dr Andy Parkins, M Eng (hons), MIET
andyparkins@gmail.com

```
