# git-http-backend: hook output not delivered to client

3 messages from 2010-03-06 to 2010-03-06. Participants: BJ Hargrave, Shawn O. Pearce.
Thread: https://gitlist.dev/t/22932

## BJ Hargrave, 2010-03-06 22:24

Subject: git-http-backend: hook output not delivered to client
Message-ID: <3C07BFC0-BC5E-4901-A846-A337B5F1B8F4@bjhargrave.com>
URL: https://gitlist.dev/e/3C07BFC0-BC5E-4901-A846-A337B5F1B8F4%40bjhargrave.com

```
I have compiled and installed git 1.7.0.1 on a RHEL4 box and am using Apache httpd with git-http-backend. I have developed a pre-receive hook to validate that incoming commits are from a list of committers. I have tested the hook and it correctly detects invalid committers, outputs error message and exits with a non-zero return code. 

If I push a commit from an invalid committer to a repo using ssh, the hook properly detects this. git-push displays the pre-receive hook's output messages and indicates the push failed.

However if I push a commit from an invalid committer to the repo using http (git-http-backend), the hook is run and detects the invalid committer but the output messages (stderr) end up in the httpd error log instead of being ferried back to git-push. git-push does exit with an error code but the user has no visible indication there was an error on the push. The git-push output look like everything went fine even though the push failed.

So the push properly fails in both cases because the hook exits with a non-zero return code, but it seems there is a problem with git-http-backend not ferrying the hook output messages back to the client. Has anyone seen this? Or have I some how configure the system wrong?

Thanks,
-- 

BJ Hargrave

```

## Shawn O. Pearce, 2010-03-06 22:30

Subject: Re: git-http-backend: hook output not delivered to client
Message-ID: <20100306223031.GG2529@spearce.org>
URL: https://gitlist.dev/e/20100306223031.GG2529%40spearce.org
In-Reply-To: <3C07BFC0-BC5E-4901-A846-A337B5F1B8F4@bjhargrave.com>

```
BJ Hargrave <bj@bjhargrave.com> wrote:
> I have compiled and installed git 1.7.0.1 on a RHEL4 box
... 
> So the push properly fails in both cases because the hook exits
> with a non-zero return code, but it seems there is a problem with
> git-http-backend not ferrying the hook output messages back to
> the client.

Yes, we know about this problem.

You need commit 466dbc42f5 ("receive-pack: Send internal errors over
side-band #2") on both the client and the server for hook messages
to work over HTTP.

This hasnt been released yet.  It is slated for 1.7.0.2.

-- 
Shawn.

```

## BJ Hargrave, 2010-03-06 22:53

Subject: Re: git-http-backend: hook output not delivered to client
Message-ID: <25C95FB3-B827-46F1-9355-549BD6F2BC1E@bjhargrave.com>
URL: https://gitlist.dev/e/25C95FB3-B827-46F1-9355-549BD6F2BC1E%40bjhargrave.com
In-Reply-To: <20100306223031.GG2529@spearce.org>

```
Thanks for the quick feedback. I will keep my eye out for 1.7.0.2.

-- 

BJ Hargrave



On Mar 6, 2010, at 17:30 , Shawn O. Pearce wrote:

> BJ Hargrave <bj@bjhargrave.com> wrote:
>> I have compiled and installed git 1.7.0.1 on a RHEL4 box
> ... 
>> So the push properly fails in both cases because the hook exits
>> with a non-zero return code, but it seems there is a problem with
>> git-http-backend not ferrying the hook output messages back to
>> the client.
> 
> Yes, we know about this problem.
> 
> You need commit 466dbc42f5 ("receive-pack: Send internal errors over
> side-band #2") on both the client and the server for hook messages
> to work over HTTP.
> 
> This hasnt been released yet.  It is slated for 1.7.0.2.
> 
> -- 
> Shawn.
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

```
