1
1
mirror of https://github.com/go-gitea/gitea synced 2025-08-15 14:08:28 +00:00

Fix checks in PR for empty commits (#20290) (#20352)

Backport #20290

* Fix #19603
* fill HeadCommitID in PullRequest
* compare real commits ID as check for merging


Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
Ing. Jaroslav Šafka
2022-07-13 19:36:23 +02:00
committed by GitHub
parent 66686f6d0e
commit 92a43d577d
7 changed files with 58 additions and 9 deletions

View File

@@ -89,7 +89,7 @@ func CheckPullMergable(stdCtx context.Context, doer *user_model.User, perm *acce
return ErrIsWorkInProgress
}
if !pr.CanAutoMerge() {
if !pr.CanAutoMerge() && !pr.IsEmpty() {
return ErrNotMergableState
}

View File

@@ -87,6 +87,14 @@ func TestPatch(pr *issues_model.PullRequest) error {
}
}
pr.MergeBase = strings.TrimSpace(pr.MergeBase)
if pr.HeadCommitID, err = gitRepo.GetRefCommitID(git.BranchPrefix + "tracking"); err != nil {
return fmt.Errorf("GetBranchCommitID: can't find commit ID for head: %w", err)
}
if pr.HeadCommitID == pr.MergeBase {
pr.Status = issues_model.PullRequestStatusAncestor
return nil
}
// 2. Check for conflicts
if conflicts, err := checkConflicts(ctx, pr, gitRepo, tmpBasePath); err != nil || conflicts || pr.Status == issues_model.PullRequestStatusEmpty {