diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index 52e3a50ce..141a6dd65 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -87,7 +87,7 @@ write = Write
preview = Preview
loading = Loading…
-error404_index = Request forbidden by administrative rules
+error404_index = Request forbidden by administrative rules
error500_index = Internal Server Error
error404 = The page you are trying to reach either does not exist or you are not authorized to view it.
error500= Sorry, the site has encountered some problems, we are trying to fix the page, please try again later.
@@ -1247,6 +1247,7 @@ pulls.commits_count_1=This branch is %d commit behind the upstream.
pulls.commits_count_n=This branch is %d commit behind the upstream.
pulls.fetch_upstream=Fetch upstream
pulls.upstream_up_to_date=No new commits to fetch
+pulls.upstream_error=Cannot get upstream info
pulls.no_merge_desc = This pull request cannot be merged because all repository merge options are disabled.
pulls.no_merge_helper = Enable merge options in the repository settings or merge the pull request manually.
diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini
index 397bcbdb8..5cb62d823 100755
--- a/options/locale/locale_zh-CN.ini
+++ b/options/locale/locale_zh-CN.ini
@@ -1249,6 +1249,7 @@ pulls.commits_count_1=当前分支落后上游分支 %d 个提交
pulls.commits_count_n=当前分支落后上游分支 %d 个提交
pulls.fetch_upstream=拉取上游更新
pulls.upstream_up_to_date=上游分支没有新的更新
+pulls.upstream_error=获取上游分支信息错误
pulls.no_merge_desc=由于未启用合并选项,此合并请求无法被合并。
pulls.no_merge_helper=在项目设置中启用合并选项或者手工合并请求。
diff --git a/routers/repo/view.go b/routers/repo/view.go
index 8c768c9eb..0d284c42b 100644
--- a/routers/repo/view.go
+++ b/routers/repo/view.go
@@ -799,29 +799,32 @@ func renderCode(ctx *context.Context) {
// 3. /{:baseOwner}/{:baseRepoName}/compare/{:baseBranch}...{:headOwner}/{:headRepoName}:{:headBranch}
*/
baseGitRepo, err := git.OpenRepository(ctx.Repo.Repository.BaseRepo.RepoPath())
+ defer baseGitRepo.Close()
if err != nil {
log.Error("error open baseRepo:%s",ctx.Repo.Repository.BaseRepo.RepoPath())
- }
- defer baseGitRepo.Close()
- if _,error:= baseGitRepo.GetBranch(ctx.Repo.BranchName);error==nil{
- //base repo has the same branch, then compare between current repo branch and base repo's branch
- compareUrl := ctx.Repo.BranchName + "..." + ctx.Repo.Repository.BaseRepo.OwnerName + "/" + ctx.Repo.Repository.BaseRepo.Name + ":" + ctx.Repo.BranchName
- ctx.SetParams("*",compareUrl)
+ ctx.Data["FetchUpstreamCnt"] = -1 // minus value indicates error
}else{
- //else, compare between current repo branch and base repo's default branch
- compareUrl := ctx.Repo.BranchName + "..." + ctx.Repo.Repository.BaseRepo.OwnerName + "/" + ctx.Repo.Repository.BaseRepo.Name + ":" + ctx.Repo.Repository.BaseRepo.DefaultBranch
- ctx.SetParams("*",compareUrl)
- }
-
- _, _, headGitRepo, compareInfo, _, _ := ParseCompareInfo(ctx)
- defer headGitRepo.Close()
- if compareInfo!= nil {
- if compareInfo.Commits!=nil {
- log.Info("compareInfoCommits数量:%d",compareInfo.Commits.Len())
- ctx.Data["FetchUpstreamCnt"] = compareInfo.Commits.Len()
+ if _,error:= baseGitRepo.GetBranch(ctx.Repo.BranchName);error==nil{
+ //base repo has the same branch, then compare between current repo branch and base repo's branch
+ compareUrl := ctx.Repo.BranchName + "..." + ctx.Repo.Repository.BaseRepo.OwnerName + "/" + ctx.Repo.Repository.BaseRepo.Name + ":" + ctx.Repo.BranchName
+ ctx.SetParams("*",compareUrl)
+ }else{
+ //else, compare between current repo branch and base repo's default branch
+ compareUrl := ctx.Repo.BranchName + "..." + ctx.Repo.Repository.BaseRepo.OwnerName + "/" + ctx.Repo.Repository.BaseRepo.Name + ":" + ctx.Repo.Repository.BaseRepo.DefaultBranch
+ ctx.SetParams("*",compareUrl)
+ }
+ _, _, headGitRepo, compareInfo, _, _ := ParseCompareInfo(ctx)
+ defer headGitRepo.Close()
+ if compareInfo!= nil {
+ if compareInfo.Commits!=nil {
+ log.Info("compareInfoCommits数量:%d",compareInfo.Commits.Len())
+ ctx.Data["FetchUpstreamCnt"] = compareInfo.Commits.Len()
+ }else{
+ log.Info("compareInfo nothing different")
+ ctx.Data["FetchUpstreamCnt"] = 0
+ }
}else{
- log.Info("compareInfo nothing different")
- ctx.Data["FetchUpstreamCnt"] = 0
+ ctx.Data["FetchUpstreamCnt"] = -1 // minus value indicates error
}
}
}
diff --git a/templates/repo/home.tmpl b/templates/repo/home.tmpl
index d4a880647..8d52f9115 100644
--- a/templates/repo/home.tmpl
+++ b/templates/repo/home.tmpl
@@ -159,6 +159,10 @@
+ {{else if lt .FetchUpstreamCnt 0}}
+
+
+
{{else}}