From d6a530995a1ad130fd1d249b08ce0a5d5b566d23 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sun, 10 Aug 2025 05:09:27 +0800 Subject: http upload pack: Don't mix stderr to stdout --- forged/internal/unsorted/http_handle_repo_upload_pack.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'forged') diff --git a/forged/internal/unsorted/http_handle_repo_upload_pack.go b/forged/internal/unsorted/http_handle_repo_upload_pack.go index df8bef4..02a09c5 100644 --- a/forged/internal/unsorted/http_handle_repo_upload_pack.go +++ b/forged/internal/unsorted/http_handle_repo_upload_pack.go @@ -4,7 +4,9 @@ package unsorted import ( + "bytes" "io" + "log" "net/http" "os" "os/exec" @@ -71,11 +73,13 @@ func (s *Server) httpHandleUploadPack(writer http.ResponseWriter, request *http. if stdout, err = cmd.StdoutPipe(); err != nil { return err } - cmd.Stderr = cmd.Stdout defer func() { _ = stdout.Close() }() + var stderrBuf bytes.Buffer + cmd.Stderr = &stderrBuf + if stdin, err = cmd.StdinPipe(); err != nil { return err } @@ -100,6 +104,7 @@ func (s *Server) httpHandleUploadPack(writer http.ResponseWriter, request *http. } if err = cmd.Wait(); err != nil { + log.Println(stderrBuf.String()) return err } -- cgit v1.2.3