diff --git a/appview/pages/funcmap.go b/appview/pages/funcmap.go
index 038e7451..d535a390 100644
--- a/appview/pages/funcmap.go
+++ b/appview/pages/funcmap.go
@@ -133,16 +133,18 @@ func funcMap() template.FuncMap {
"sequence": func(n int) []struct{} {
return make([]struct{}, n)
},
- "subslice": func(slice any, start, end int) any {
+ // take atmost N items from this slice
+ "take": func(slice any, n int) any {
v := reflect.ValueOf(slice)
if v.Kind() != reflect.Slice && v.Kind() != reflect.Array {
return nil
}
- if start < 0 || start > v.Len() || end > v.Len() || start > end {
+ if v.Len() == 0 {
return nil
}
- return v.Slice(start, end).Interface()
+ return v.Slice(0, min(n, v.Len()-1)).Interface()
},
+
"markdown": func(text string) template.HTML {
rctx := &markup.RenderContext{RendererType: markup.RendererTypeDefault}
return template.HTML(bluemonday.UGCPolicy().Sanitize(rctx.RenderMarkdown(text)))
diff --git a/appview/pages/pages.go b/appview/pages/pages.go
index a2dfef70..e231baae 100644
--- a/appview/pages/pages.go
+++ b/appview/pages/pages.go
@@ -871,13 +871,31 @@ type RepoCompareParams struct {
Tags []*types.TagReference
Base string
Head string
+ Diff *types.NiceDiff
Active string
}
func (p *Pages) RepoCompare(w io.Writer, params RepoCompareParams) error {
params.Active = "overview"
- return p.executeRepo("repo/compare", w, params)
+ return p.executeRepo("repo/compare/compare", w, params)
+}
+
+type RepoCompareNewParams struct {
+ LoggedInUser *oauth.User
+ RepoInfo repoinfo.RepoInfo
+ Forks []db.Repo
+ Branches []types.Branch
+ Tags []*types.TagReference
+ Base string
+ Head string
+
+ Active string
+}
+
+func (p *Pages) RepoCompareNew(w io.Writer, params RepoCompareNewParams) error {
+ params.Active = "overview"
+ return p.executeRepo("repo/compare/new", w, params)
}
type RepoCompareAllowPullParams struct {
diff --git a/appview/pages/templates/repo/compare.html b/appview/pages/templates/repo/compare.html
deleted file mode 100644
index 6621b1a2..00000000
--- a/appview/pages/templates/repo/compare.html
+++ /dev/null
@@ -1,166 +0,0 @@
-{{ define "title" }}
- {{ if and .Head .Base }}
- comparing {{ .Base }} and
- {{ .Head }}
- {{ else }}
- new comparison
- {{ end }}
-{{ end }}
-
-{{ define "repoContent" }}
- Choose any two refs to compare.
- Compare changes
-
-
+ Recently updated branches in this repository: +
+ {{ block "recentBranchList" $ }} {{ end }} +Choose any two refs to compare.
+ + +