mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 10:56:10 +01:00 
			
		
		
		
	Show status check for merged PRs (#13975)
* Show status check for merged PRs * Handle PRs with no commits * Styling Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
		
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							48bd02e753
						
					
				
				
					commit
					efa9a8a6e3
				
			| @@ -9,6 +9,7 @@ import ( | ||||
| 	"bytes" | ||||
| 	"context" | ||||
| 	"encoding/json" | ||||
| 	"errors" | ||||
| 	"fmt" | ||||
| 	"strings" | ||||
| 	"time" | ||||
| @@ -641,31 +642,27 @@ func GetCommitMessages(pr *models.PullRequest) string { | ||||
|  | ||||
| // GetLastCommitStatus returns the last commit status for this pull request. | ||||
| func GetLastCommitStatus(pr *models.PullRequest) (status *models.CommitStatus, err error) { | ||||
| 	if err = pr.LoadHeadRepo(); err != nil { | ||||
| 	if err = pr.LoadBaseRepo(); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	if pr.HeadRepo == nil { | ||||
| 		return nil, models.ErrPullRequestHeadRepoMissing{ID: pr.ID, HeadRepoID: pr.HeadRepoID} | ||||
| 	} | ||||
|  | ||||
| 	headGitRepo, err := git.OpenRepository(pr.HeadRepo.RepoPath()) | ||||
| 	gitRepo, err := git.OpenRepository(pr.BaseRepo.RepoPath()) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	defer headGitRepo.Close() | ||||
| 	defer gitRepo.Close() | ||||
|  | ||||
| 	lastCommitID, err := headGitRepo.GetBranchCommitID(pr.HeadBranch) | ||||
| 	compareInfo, err := gitRepo.GetCompareInfo(pr.BaseRepo.RepoPath(), pr.MergeBase, pr.GetGitRefName()) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	err = pr.LoadBaseRepo() | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	if compareInfo.Commits.Len() == 0 { | ||||
| 		return nil, errors.New("pull request has no commits") | ||||
| 	} | ||||
|  | ||||
| 	statusList, err := models.GetLatestCommitStatus(pr.BaseRepo.ID, lastCommitID, models.ListOptions{}) | ||||
| 	sha := compareInfo.Commits.Front().Value.(*git.Commit).ID.String() | ||||
| 	statusList, err := models.GetLatestCommitStatus(pr.BaseRepo.ID, sha, models.ListOptions{}) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user