diff --git a/internal/route/repo/pull.go b/internal/route/repo/pull.go index 8b46cef3d..655c2c915 100644 --- a/internal/route/repo/pull.go +++ b/internal/route/repo/pull.go @@ -483,7 +483,7 @@ func ParseCompareInfo(c *context.Context) (*database.User, *database.Repository, c.Repo.PullRequest.SameRepo = isSameRepo // Check if base branch is valid. - if !c.Repo.GitRepo.HasBranch(baseBranch) { + if !c.Repo.GitRepo.HasBranch(baseBranch) && !c.Repo.GitRepo.HasTag(baseBranch) { c.NotFound() return nil, nil, nil, nil, "", "" } @@ -533,7 +533,7 @@ func ParseCompareInfo(c *context.Context) (*database.User, *database.Repository, } // Check if head branch is valid. - if !headGitRepo.HasBranch(headBranch) { + if !headGitRepo.HasBranch(headBranch) && !headGitRepo.HasTag(headBranch) { c.NotFound() return nil, nil, nil, nil, "", "" } @@ -579,8 +579,11 @@ func PrepareCompareDiff( headCommitID, err := headGitRepo.BranchCommitID(headBranch) if err != nil { - c.Error(err, "get head branch commit ID") - return false + headCommitID, err = headGitRepo.TagCommitID(headBranch) + if err != nil { + c.Error(err, "get head branch commit ID") + return false + } } c.Data["AfterCommitID"] = headCommitID