@@ -35,11 +35,12 @@ func ToAPIPullRequest(pr *models.PullRequest) *api.PullRequest {
35
35
return nil
36
36
}
37
37
}
38
- if pr .HeadRepo == nil {
38
+ if pr .HeadRepoID != 0 && pr . HeadRepo == nil {
39
39
pr .HeadRepo , err = models .GetRepositoryByID (pr .HeadRepoID )
40
- if err != nil {
40
+ if err != nil && ! models . IsErrRepoNotExist ( err ) {
41
41
log .Error ("GetRepositoryById[%d]: %v" , pr .ID , err )
42
42
return nil
43
+
43
44
}
44
45
}
45
46
@@ -99,33 +100,41 @@ func ToAPIPullRequest(pr *models.PullRequest) *api.PullRequest {
99
100
apiPullRequest .Base = apiBaseBranchInfo
100
101
}
101
102
102
- headBranch , err = repo_module .GetBranch (pr .HeadRepo , pr .HeadBranch )
103
- if err != nil {
104
- if git .IsErrBranchNotExist (err ) {
105
- apiPullRequest .Head = nil
106
- } else {
107
- log .Error ("GetBranch[%s]: %v" , pr .HeadBranch , err )
108
- return nil
109
- }
110
- } else {
111
- apiHeadBranchInfo := & api.PRBranchInfo {
112
- Name : pr .HeadBranch ,
113
- Ref : pr .HeadBranch ,
114
- RepoID : pr .HeadRepoID ,
115
- Repository : pr .HeadRepo .APIFormat (models .AccessModeNone ),
116
- }
117
- headCommit , err = headBranch .GetCommit ()
103
+ if pr .HeadRepo != nil {
104
+ headBranch , err = repo_module .GetBranch (pr .HeadRepo , pr .HeadBranch )
118
105
if err != nil {
119
- if git .IsErrNotExist (err ) {
120
- apiHeadBranchInfo . Sha = ""
106
+ if git .IsErrBranchNotExist (err ) {
107
+ apiPullRequest . Head = nil
121
108
} else {
122
- log .Error ("GetCommit [%s]: %v" , headBranch . Name , err )
109
+ log .Error ("GetBranch [%s]: %v" , pr . HeadBranch , err )
123
110
return nil
124
111
}
125
112
} else {
126
- apiHeadBranchInfo .Sha = headCommit .ID .String ()
113
+ apiHeadBranchInfo := & api.PRBranchInfo {
114
+ Name : pr .HeadBranch ,
115
+ Ref : pr .HeadBranch ,
116
+ RepoID : pr .HeadRepoID ,
117
+ Repository : pr .HeadRepo .APIFormat (models .AccessModeNone ),
118
+ }
119
+ headCommit , err = headBranch .GetCommit ()
120
+ if err != nil {
121
+ if git .IsErrNotExist (err ) {
122
+ apiHeadBranchInfo .Sha = ""
123
+ } else {
124
+ log .Error ("GetCommit[%s]: %v" , headBranch .Name , err )
125
+ return nil
126
+ }
127
+ } else {
128
+ apiHeadBranchInfo .Sha = headCommit .ID .String ()
129
+ }
130
+ apiPullRequest .Head = apiHeadBranchInfo
131
+ }
132
+ } else {
133
+ apiPullRequest .Head = & api.PRBranchInfo {
134
+ Name : pr .HeadBranch ,
135
+ Ref : pr .HeadBranch ,
136
+ RepoID : - 1 ,
127
137
}
128
- apiPullRequest .Head = apiHeadBranchInfo
129
138
}
130
139
131
140
if pr .Status != models .PullRequestStatusChecking {
0 commit comments