From 721e422fa7a299d0dcfe9fe000c18f5e99380e37 Mon Sep 17 00:00:00 2001 From: zeripath Date: Thu, 15 Dec 2022 15:28:05 +0000 Subject: [PATCH] Correctly handle moved files in apply patch (#22118) (#22136) Backport #22118 Moved files in a patch will result in git apply returning: ``` error: {filename}: No such file or directory ``` This wasn't handled by the git apply patch code. This PR adds handling for this. Fix #22083 Signed-off-by: Andrew Thornton Signed-off-by: Andrew Thornton Co-authored-by: KN4CK3R --- services/pull/patch.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/pull/patch.go b/services/pull/patch.go index 32895b2e784..73ee7ba7eda 100644 --- a/services/pull/patch.go +++ b/services/pull/patch.go @@ -52,6 +52,8 @@ var patchErrorSuffices = []string{ ": patch does not apply", ": already exists in working directory", "unrecognized input", + ": No such file or directory", + ": does not exist in index", } // TestPatch will test whether a simple patch will apply @@ -415,6 +417,7 @@ func checkConflicts(ctx context.Context, pr *issues_model.PullRequest, gitRepo * scanner := bufio.NewScanner(stderrReader) for scanner.Scan() { line := scanner.Text() + log.Trace("PullRequest[%d].testPatch: stderr: %s", pr.ID, line) if strings.HasPrefix(line, prefix) { conflict = true filepath := strings.TrimSpace(strings.Split(line[len(prefix):], ":")[0])