diff options
Diffstat (limited to 'overlays/git-fix/0001-http-backend-write-newlines-to-stderr-when-respondin.patch')
| -rw-r--r-- | overlays/git-fix/0001-http-backend-write-newlines-to-stderr-when-respondin.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/overlays/git-fix/0001-http-backend-write-newlines-to-stderr-when-respondin.patch b/overlays/git-fix/0001-http-backend-write-newlines-to-stderr-when-respondin.patch new file mode 100644 index 0000000..9aa9687 --- /dev/null +++ b/overlays/git-fix/0001-http-backend-write-newlines-to-stderr-when-respondin.patch @@ -0,0 +1,54 @@ +From fa18fa7967333ccde36f9347722a66f44b746f25 Mon Sep 17 00:00:00 2001 +From: KJ Tsanaktsidis <kjtsanaktsidis@groq.com> +Date: Thu, 8 Jan 2026 02:52:48 -0800 +Subject: [PATCH] http-backend: write newlines to stderr when responding with + errors + +The not_found and forbidden methods currently do not write a newline to +stderr after the error message. This means that if git-http-backend is +invoked through something like fcgiwrap, and the stderr of that fcgiwrap +process is sent to a logging daemon (e.g. journald), the error messages +of several git-http-backend invocations will just get strung together, +e.g. + +> Not a git repository: '/var/lib/git/foo.git'Not a git repository: '/var/lib/git/foo.git'Not a git repository: '/var/lib/git/foo.git' + +I think it's git-http-backend's responsibility to format these messages +properly, rather than it being fcgiwrap's job to notice that the script +didn't terminate stderr with a newline and do so itself. + +Signed-off-by: KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au> +--- + http-backend.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/http-backend.c b/http-backend.c +index 52f0483dd3..bda8bb91e1 100644 +--- a/http-backend.c ++++ b/http-backend.c +@@ -143,8 +143,10 @@ static NORETURN void not_found(struct strbuf *hdr, const char *err, ...) + end_headers(hdr); + + va_start(params, err); +- if (err && *err) ++ if (err && *err) { + vfprintf(stderr, err, params); ++ fprintf(stderr, "\n"); ++ } + va_end(params); + exit(0); + } +@@ -159,8 +161,10 @@ static NORETURN void forbidden(struct strbuf *hdr, const char *err, ...) + end_headers(hdr); + + va_start(params, err); +- if (err && *err) ++ if (err && *err) { + vfprintf(stderr, err, params); ++ fprintf(stderr, "\n"); ++ } + va_end(params); + exit(0); + } +-- +2.50.1 |
