diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 2ea7bdacc695..61f1f6adad0c 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -458,6 +458,19 @@ func NewFuncMap() []template.FuncMap { return items }, "HasPrefix": strings.HasPrefix, + "CompareLink": func(baseRepo, repo *repo_model.Repository, branchName string) string { + var curBranch string + if repo.ID != baseRepo.ID { + curBranch += fmt.Sprintf("%s/%s:", url.PathEscape(repo.OwnerName), url.PathEscape(repo.Name)) + } + curBranch += util.PathEscapeSegments(branchName) + + return fmt.Sprintf("%s/compare/%s...%s", + baseRepo.Link(), + util.PathEscapeSegments(baseRepo.DefaultBranch), + curBranch, + ) + }, }} } diff --git a/templates/repo/home.tmpl b/templates/repo/home.tmpl index 18c02aa9ecac..a24aa52247e5 100644 --- a/templates/repo/home.tmpl +++ b/templates/repo/home.tmpl @@ -68,7 +68,7 @@ {{if eq $n 0}} {{if and .CanCompareOrPull .IsViewBranch (not .Repository.IsArchived)}} - + {{end}}