aboutsummaryrefslogtreecommitdiff
path: root/services/pull/pull.go
diff options
context:
space:
mode:
Diffstat (limited to 'services/pull/pull.go')
-rw-r--r--services/pull/pull.go14
1 files changed, 5 insertions, 9 deletions
diff --git a/services/pull/pull.go b/services/pull/pull.go
index a19e88b33..d8923d0d5 100644
--- a/services/pull/pull.go
+++ b/services/pull/pull.go
@@ -349,18 +349,14 @@ func AddTestPullRequestTask(doer *user_model.User, repoID int64, branch string,
// checkIfPRContentChanged checks if diff to target branch has changed by push
// A commit can be considered to leave the PR untouched if the patch/diff with its merge base is unchanged
func checkIfPRContentChanged(ctx context.Context, pr *issues_model.PullRequest, oldCommitID, newCommitID string) (hasChanged bool, err error) {
- tmpBasePath, err := createTemporaryRepo(ctx, pr)
+ prCtx, cancel, err := createTemporaryRepoForPR(ctx, pr)
if err != nil {
- log.Error("CreateTemporaryRepo: %v", err)
+ log.Error("CreateTemporaryRepoForPR %-v: %v", pr, err)
return false, err
}
- defer func() {
- if err := repo_module.RemoveTemporaryPath(tmpBasePath); err != nil {
- log.Error("checkIfPRContentChanged: RemoveTemporaryPath: %s", err)
- }
- }()
+ defer cancel()
- tmpRepo, err := git.OpenRepository(ctx, tmpBasePath)
+ tmpRepo, err := git.OpenRepository(ctx, prCtx.tmpBasePath)
if err != nil {
return false, fmt.Errorf("OpenRepository: %w", err)
}
@@ -379,7 +375,7 @@ func checkIfPRContentChanged(ctx context.Context, pr *issues_model.PullRequest,
}
if err := cmd.Run(&git.RunOpts{
- Dir: tmpBasePath,
+ Dir: prCtx.tmpBasePath,
Stdout: stdoutWriter,
PipelineFunc: func(ctx context.Context, cancel context.CancelFunc) error {
_ = stdoutWriter.Close()