Re: [PATCH] connect.c: add a way for git-daemon to pass an error back to client
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Nov 1, 2008, 02:35 UTC
- Message-ID
- <alpine.DEB.1.00.0811010334010.22125@pacific.mpi-cbg.de.mpi-cbg.de>
- In-Reply-To
- <alpine.LFD.2.00.0810312218300.13034@xanadu.home>
Hi,
On Fri, 31 Oct 2008, Nicolas Pitre wrote:
Show 23 quoted lines
> On Sat, 1 Nov 2008, Johannes Schindelin wrote: > > > On Fri, 31 Oct 2008, Tom Preston-Werner wrote: > > > > > The current behavior of git-daemon is to simply close the connection > > > on any error condition. This leaves the client without any > > > information as to the cause of the failed fetch/push/etc. > > > > > > This patch allows get_remote_heads to accept a line prefixed with > > > "ERR" that it can display to the user in an informative fashion. > > > Once clients can understand this ERR line, git-daemon can be made to > > > properly report "repository not found", "permission denied", or > > > other errors. > > > > > > Example > > > > > > S: ERR No matching repository. > > > C: fatal: remote error: No matching repository. > > > > Makes sense to me. > > Note that this behavior of not returning any reason for failure was > argued to be a security feature in the past, by Linus I think.
Yes. And it might still be considered one. You do not need to patch git-daemon to use that facility (note that Tom's patch was only for the client side).
But for hosting sites such as repo.or.cz or GitHub, that security feature just does not make sense, but it makes for support requests that could be resolved better with a proper error message.
Ciao, Dscho