Skip to content

Commit 1508322

Browse files
committed
Protect against unable to load repo
1 parent b62c9bc commit 1508322

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

services/pull/temp_repo.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,25 @@ func createTemporaryRepo(pr *models.PullRequest) (string, error) {
2020
if err := pr.GetHeadRepo(); err != nil {
2121
log.Error("GetHeadRepo: %v", err)
2222
return "", fmt.Errorf("GetHeadRepo: %v", err)
23+
} else if pr.HeadRepo == nil {
24+
log.Error("Pr %d HeadRepo %d does not exist", pr.ID, pr.HeadRepoID)
25+
return "", &models.ErrRepoNotExist{
26+
ID: pr.HeadRepoID,
27+
}
2328
} else if err := pr.GetBaseRepo(); err != nil {
2429
log.Error("GetBaseRepo: %v", err)
2530
return "", fmt.Errorf("GetBaseRepo: %v", err)
31+
} else if pr.BaseRepo == nil {
32+
log.Error("Pr %d BaseRepo %d does not exist", pr.ID, pr.BaseRepoID)
33+
return "", &models.ErrRepoNotExist{
34+
ID: pr.BaseRepoID,
35+
}
36+
} else if err := pr.HeadRepo.GetOwner(); err != nil {
37+
log.Error("HeadRepo.GetOwner: %v", err)
38+
return "", fmt.Errorf("HeadRepo.GetOwner: %v", err)
39+
} else if err := pr.BaseRepo.GetOwner(); err != nil {
40+
log.Error("BaseRepo.GetOwner: %v", err)
41+
return "", fmt.Errorf("BaseRepo.GetOwner: %v", err)
2642
}
2743

2844
// Clone base repo.

0 commit comments

Comments
 (0)