diff options
author | Jimmy Praet <jimmy.praet@telenet.be> | 2021-07-13 01:26:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-13 01:26:25 +0200 |
commit | 78118a3b029ee4eb140d47be22e86df17253a786 (patch) | |
tree | 81aaa17946b3bd8086cdb6e23ca4349dea118f50 /services/pull/pull.go | |
parent | 46a4c6835daf4642074bb1a18a3210b03a64259b (diff) | |
download | gitea-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.go | 6 |
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 { |