From 2de0752be7aaab65fe670518d00175be479ea054 Mon Sep 17 00:00:00 2001
From: wxiaoguang <wxiaoguang@gmail.com>
Date: Fri, 4 Aug 2023 20:50:41 +0800
Subject: [PATCH] Make git batch operations use parent context timeout instead
 of default timeout (#26325)

Fix #26064

Some git commands should use parent context, otherwise it would exit too
early (by the default timeout, 10m), and the "cmd.Wait" waits till the
pipes are closed.
---
 modules/git/batch_reader.go | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/modules/git/batch_reader.go b/modules/git/batch_reader.go
index 891e8a2384..7a44e6295c 100644
--- a/modules/git/batch_reader.go
+++ b/modules/git/batch_reader.go
@@ -74,6 +74,8 @@ func CatFileBatchCheck(ctx context.Context, repoPath string) (WriteCloserError,
 				Stdin:  batchStdinReader,
 				Stdout: batchStdoutWriter,
 				Stderr: &stderr,
+
+				UseContextTimeout: true,
 			})
 		if err != nil {
 			_ = batchStdoutWriter.CloseWithError(ConcatenateError(err, (&stderr).String()))
@@ -124,6 +126,8 @@ func CatFileBatch(ctx context.Context, repoPath string) (WriteCloserError, *bufi
 				Stdin:  batchStdinReader,
 				Stdout: batchStdoutWriter,
 				Stderr: &stderr,
+
+				UseContextTimeout: true,
 			})
 		if err != nil {
 			_ = batchStdoutWriter.CloseWithError(ConcatenateError(err, (&stderr).String()))