fix: prevent pull requests from being merged multiple times

This commit is contained in:
BtbN 2025-08-09 22:12:33 +02:00 committed by BtbN
commit 0b552407fe
5 changed files with 63 additions and 4 deletions

View file

@ -1445,6 +1445,10 @@ func MergePullRequest(ctx *context.Context) {
log.Debug("MergeUnrelatedHistories error: %v", err)
ctx.Flash.Error(ctx.Tr("repo.pulls.unrelated_histories"))
ctx.JSONRedirect(issue.Link())
} else if models.IsErrPullRequestHasMerged(err) {
log.Debug("MergePullRequestHasMerged error: %v", err)
ctx.Flash.Error(ctx.Tr("repo.pulls.already_merged"))
ctx.JSONRedirect(issue.Link())
} else if git.IsErrPushOutOfDate(err) {
log.Debug("MergePushOutOfDate error: %v", err)
ctx.Flash.Error(ctx.Tr("repo.pulls.merge_out_of_date"))