@@ -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> | ||||