aboutsummaryrefslogtreecommitdiffstats
path: root/services/pull/pull.go
diff options
context:
space:
mode:
authorJimmy Praet <jimmy.praet@telenet.be>2021-07-13 01:26:25 +0200
committerGitHub <noreply@github.com>2021-07-13 01:26:25 +0200
commit78118a3b029ee4eb140d47be22e86df17253a786 (patch)
tree81aaa17946b3bd8086cdb6e23ca4349dea118f50 /services/pull/pull.go
parent46a4c6835daf4642074bb1a18a3210b03a64259b (diff)
downloadgitea-78118a3b029ee4eb140d47be22e86df17253a786.tar.gz
gitea-78118a3b029ee4eb140d47be22e86df17253a786.zip
Add checkbox to delete pull branch after successful merge (#16049)
* Add checkbox to delete pull branch after successful merge * Omit DeleteBranchAfterMerge field in json * Log a warning instead of error when PR head branch deleted * Add DefaultDeleteBranchAfterMerge to PullRequestConfig * Add support for delete_branch_after_merge via API * Fix for API: the branch should be deleted from the HEAD repo If head and base repo are the same, reuse the already opened ctx.Repo.GitRepo * Don't delegate to CleanupBranch, only reuse branch deletion code CleanupBranch contains too much logic that has already been performed by the Merge * Reuse gitrepo in MergePullRequest Co-authored-by: Andrew Thornton <art27@cantab.net>
Diffstat (limited to 'services/pull/pull.go')
-rw-r--r--services/pull/pull.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/services/pull/pull.go b/services/pull/pull.go
index db216ddbf4..6b3acd2004 100644
--- a/services/pull/pull.go
+++ b/services/pull/pull.go
@@ -303,7 +303,11 @@ func AddTestPullRequestTask(doer *models.User, repoID int64, branch string, isSy
for _, pr := range prs {
divergence, err := GetDiverging(pr)
if err != nil {
- log.Error("GetDiverging: %v", err)
+ if models.IsErrBranchDoesNotExist(err) && !git.IsBranchExist(pr.HeadRepo.RepoPath(), pr.HeadBranch) {
+ log.Warn("Cannot test PR %s/%d: head_branch %s no longer exists", pr.BaseRepo.Name, pr.IssueID, pr.HeadBranch)
+ } else {
+ log.Error("GetDiverging: %v", err)
+ }
} else {
err = pr.UpdateCommitDivergence(divergence.Ahead, divergence.Behind)
if err != nil {