mirror of
https://github.com/go-gitea/gitea
synced 2025-07-22 18:28:37 +00:00
fix pulls broken when fork repository deleted (#6754)
* fix pulls broken when fork repository deleted * fix lint
This commit is contained in:
@@ -1091,6 +1091,24 @@ func (err ErrPullRequestAlreadyExists) Error() string {
|
||||
err.ID, err.IssueID, err.HeadRepoID, err.BaseRepoID, err.HeadBranch, err.BaseBranch)
|
||||
}
|
||||
|
||||
// ErrPullRequestHeadRepoMissing represents a "ErrPullRequestHeadRepoMissing" error
|
||||
type ErrPullRequestHeadRepoMissing struct {
|
||||
ID int64
|
||||
HeadRepoID int64
|
||||
}
|
||||
|
||||
// IsErrErrPullRequestHeadRepoMissing checks if an error is a ErrPullRequestHeadRepoMissing.
|
||||
func IsErrErrPullRequestHeadRepoMissing(err error) bool {
|
||||
_, ok := err.(ErrPullRequestHeadRepoMissing)
|
||||
return ok
|
||||
}
|
||||
|
||||
// Error does pretty-printing :D
|
||||
func (err ErrPullRequestHeadRepoMissing) Error() string {
|
||||
return fmt.Sprintf("pull request head repo missing [id: %d, head_repo_id: %d]",
|
||||
err.ID, err.HeadRepoID)
|
||||
}
|
||||
|
||||
// ErrInvalidMergeStyle represents an error if merging with disabled merge strategy
|
||||
type ErrInvalidMergeStyle struct {
|
||||
ID int64
|
||||
|
@@ -299,6 +299,10 @@ func (pr *PullRequest) GetLastCommitStatus() (status *CommitStatus, err error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if pr.HeadRepo == nil {
|
||||
return nil, ErrPullRequestHeadRepoMissing{pr.ID, pr.HeadRepoID}
|
||||
}
|
||||
|
||||
headGitRepo, err := git.OpenRepository(pr.HeadRepo.RepoPath())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
Reference in New Issue
Block a user