File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -134,6 +134,24 @@ func ToAPIPullRequest(pr *models.PullRequest) *api.PullRequest {
134
134
}
135
135
}
136
136
137
+ if len (apiPullRequest .Head .Sha ) == 0 && len (apiPullRequest .Head .Ref ) != 0 {
138
+ baseGitRepo , err := git .OpenRepository (pr .BaseRepo .RepoPath ())
139
+ if err != nil {
140
+ log .Error ("OpenRepository[%s]: %v" , pr .BaseRepo .RepoPath (), err )
141
+ return nil
142
+ }
143
+ defer baseGitRepo .Close ()
144
+ refs , err := baseGitRepo .GetRefsFiltered (apiPullRequest .Head .Ref )
145
+ if err != nil {
146
+ log .Error ("GetRefsFiltered[%s]: %v" , apiPullRequest .Head .Ref , err )
147
+ return nil
148
+ } else if len (refs ) == 0 {
149
+ log .Error ("unable to resolve PR head ref" )
150
+ } else {
151
+ apiPullRequest .Head .Sha = refs [0 ].Object .String ()
152
+ }
153
+ }
154
+
137
155
if pr .Status != models .PullRequestStatusChecking {
138
156
mergeable := ! (pr .Status == models .PullRequestStatusConflict || pr .Status == models .PullRequestStatusError ) && ! pr .IsWorkInProgress ()
139
157
apiPullRequest .Mergeable = mergeable
You can’t perform that action at this time.
0 commit comments