Backport #29938 Try to fix #29936 Far from ideal, but still better than panic. (cherry picked from commit b4a6c6fd7a4ed8e018d27fcdb5203fa04becdddb)
This commit is contained in:
parent
59bc466ad5
commit
c1ec79aeaf
|
@ -248,7 +248,7 @@ type DivergeObject struct {
|
||||||
// GetDivergingCommits returns the number of commits a targetBranch is ahead or behind a baseBranch
|
// GetDivergingCommits returns the number of commits a targetBranch is ahead or behind a baseBranch
|
||||||
func GetDivergingCommits(ctx context.Context, repoPath, baseBranch, targetBranch string) (do DivergeObject, err error) {
|
func GetDivergingCommits(ctx context.Context, repoPath, baseBranch, targetBranch string) (do DivergeObject, err error) {
|
||||||
cmd := NewCommand(ctx, "rev-list", "--count", "--left-right").
|
cmd := NewCommand(ctx, "rev-list", "--count", "--left-right").
|
||||||
AddDynamicArguments(baseBranch + "..." + targetBranch)
|
AddDynamicArguments(baseBranch + "..." + targetBranch).AddArguments("--")
|
||||||
stdout, _, err := cmd.RunStdString(&RunOpts{Dir: repoPath})
|
stdout, _, err := cmd.RunStdString(&RunOpts{Dir: repoPath})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return do, err
|
return do, err
|
||||||
|
|
|
@ -132,10 +132,7 @@ func loadOneBranch(ctx context.Context, repo *repo_model.Repository, dbBranch *g
|
||||||
p := protectedBranches.GetFirstMatched(branchName)
|
p := protectedBranches.GetFirstMatched(branchName)
|
||||||
isProtected := p != nil
|
isProtected := p != nil
|
||||||
|
|
||||||
divergence := &git.DivergeObject{
|
var divergence *git.DivergeObject
|
||||||
Ahead: -1,
|
|
||||||
Behind: -1,
|
|
||||||
}
|
|
||||||
|
|
||||||
// it's not default branch
|
// it's not default branch
|
||||||
if repo.DefaultBranch != dbBranch.Name && !dbBranch.IsDeleted {
|
if repo.DefaultBranch != dbBranch.Name && !dbBranch.IsDeleted {
|
||||||
|
@ -146,6 +143,11 @@ func loadOneBranch(ctx context.Context, repo *repo_model.Repository, dbBranch *g
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if divergence == nil {
|
||||||
|
// tolerate error that we can't get divergence
|
||||||
|
divergence = &git.DivergeObject{Ahead: -1, Behind: -1}
|
||||||
|
}
|
||||||
|
|
||||||
pr, err := issues_model.GetLatestPullRequestByHeadInfo(repo.ID, branchName)
|
pr, err := issues_model.GetLatestPullRequestByHeadInfo(repo.ID, branchName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("GetLatestPullRequestByHeadInfo: %v", err)
|
return nil, fmt.Errorf("GetLatestPullRequestByHeadInfo: %v", err)
|
||||||
|
|
Loading…
Reference in New Issue