| @@ -87,7 +87,7 @@ write = Write | |||||
| preview = Preview | preview = Preview | ||||
| loading = Loading… | loading = Loading… | ||||
| error404_index = Request forbidden by administrative rules | |||||
| error404_index = Request forbidden by administrative rules | |||||
| error500_index = Internal Server Error | error500_index = Internal Server Error | ||||
| error404 = The page you are trying to reach either <strong>does not exist</strong> or <strong>you are not authorized</strong> to view it. | error404 = The page you are trying to reach either <strong>does not exist</strong> or <strong>you are not authorized</strong> to view it. | ||||
| error500= Sorry, the site has encountered some problems, we are trying to <strong>fix the page</strong>, please try again later. | error500= Sorry, the site has encountered some problems, we are trying to <strong>fix the page</strong>, 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.commits_count_n=This branch is %d commit behind the upstream. | ||||
| pulls.fetch_upstream=Fetch upstream | pulls.fetch_upstream=Fetch upstream | ||||
| pulls.upstream_up_to_date=No new commits to fetch | 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_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. | pulls.no_merge_helper = Enable merge options in the repository settings or merge the pull request manually. | ||||
| @@ -1249,6 +1249,7 @@ pulls.commits_count_1=当前分支落后上游分支 %d 个提交 | |||||
| pulls.commits_count_n=当前分支落后上游分支 %d 个提交 | pulls.commits_count_n=当前分支落后上游分支 %d 个提交 | ||||
| pulls.fetch_upstream=拉取上游更新 | pulls.fetch_upstream=拉取上游更新 | ||||
| pulls.upstream_up_to_date=上游分支没有新的更新 | pulls.upstream_up_to_date=上游分支没有新的更新 | ||||
| pulls.upstream_error=获取上游分支信息错误 | |||||
| pulls.no_merge_desc=由于未启用合并选项,此合并请求无法被合并。 | pulls.no_merge_desc=由于未启用合并选项,此合并请求无法被合并。 | ||||
| pulls.no_merge_helper=在项目设置中启用合并选项或者手工合并请求。 | pulls.no_merge_helper=在项目设置中启用合并选项或者手工合并请求。 | ||||
| @@ -799,29 +799,32 @@ func renderCode(ctx *context.Context) { | |||||
| // 3. /{:baseOwner}/{:baseRepoName}/compare/{:baseBranch}...{:headOwner}/{:headRepoName}:{:headBranch} | // 3. /{:baseOwner}/{:baseRepoName}/compare/{:baseBranch}...{:headOwner}/{:headRepoName}:{:headBranch} | ||||
| */ | */ | ||||
| baseGitRepo, err := git.OpenRepository(ctx.Repo.Repository.BaseRepo.RepoPath()) | baseGitRepo, err := git.OpenRepository(ctx.Repo.Repository.BaseRepo.RepoPath()) | ||||
| defer baseGitRepo.Close() | |||||
| if err != nil { | if err != nil { | ||||
| log.Error("error open baseRepo:%s",ctx.Repo.Repository.BaseRepo.RepoPath()) | 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{ | ||||
| //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{ | }else{ | ||||
| log.Info("compareInfo nothing different") | |||||
| ctx.Data["FetchUpstreamCnt"] = 0 | |||||
| ctx.Data["FetchUpstreamCnt"] = -1 // minus value indicates error | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -159,6 +159,10 @@ | |||||
| <a href="{{.Repository.Link}}/compare/{{.BranchName | EscapePound}}...{{.BaseRepo.Owner.Name}}:{{.BaseRepo.DefaultBranch | EscapePound}}"> | <a href="{{.Repository.Link}}/compare/{{.BranchName | EscapePound}}...{{.BaseRepo.Owner.Name}}:{{.BaseRepo.DefaultBranch | EscapePound}}"> | ||||
| <button id="new-pull-request" class="ui compact basic button" title="{{$.i18n.Tr (TrN $.i18n.Lang .FetchUpstreamCnt "repo.pulls.commits_count_1" "repo.pulls.commits_count_n") .FetchUpstreamCnt}}">{{.i18n.Tr "repo.pulls.fetch_upstream"}}</button> | <button id="new-pull-request" class="ui compact basic button" title="{{$.i18n.Tr (TrN $.i18n.Lang .FetchUpstreamCnt "repo.pulls.commits_count_1" "repo.pulls.commits_count_n") .FetchUpstreamCnt}}">{{.i18n.Tr "repo.pulls.fetch_upstream"}}</button> | ||||
| </a> | </a> | ||||
| {{else if lt .FetchUpstreamCnt 0}} | |||||
| <a href="{{.Repository.Link}}/compare/{{.BranchName | EscapePound}}...{{.BaseRepo.Owner.Name}}:{{.BaseRepo.DefaultBranch | EscapePound}}"> | |||||
| <button id="new-pull-request" class="ui compact basic button" title="{{.i18n.Tr "repo.pulls.upstream_error"}}">{{.i18n.Tr "repo.pulls.fetch_upstream"}}</button> | |||||
| </a> | |||||
| {{else}} | {{else}} | ||||
| <a href="{{.Repository.Link}}/compare/{{.BranchName | EscapePound}}...{{.BaseRepo.Owner.Name}}:{{.BaseRepo.DefaultBranch | EscapePound}}"> | <a href="{{.Repository.Link}}/compare/{{.BranchName | EscapePound}}...{{.BaseRepo.Owner.Name}}:{{.BaseRepo.DefaultBranch | EscapePound}}"> | ||||
| <button id="new-pull-request" class="ui compact basic button" title="{{.i18n.Tr "repo.pulls.upstream_up_to_date"}}">{{.i18n.Tr "repo.pulls.fetch_upstream"}}</button> | <button id="new-pull-request" class="ui compact basic button" title="{{.i18n.Tr "repo.pulls.upstream_up_to_date"}}">{{.i18n.Tr "repo.pulls.fetch_upstream"}}</button> | ||||