all repos — elgit @ f661e6e4ce1177352b5bc40238351920cc25a69b

fork of legit: web frontend for git, written in go

config: add repo.ignore

commit

f661e6e4ce1177352b5bc40238351920cc25a69b

parent

2b57b6e0b1b936f45aa4ed8fd0ed2f57b7d370f3

1 file changed, 29 insertions(+), 10 deletions(-)

changed files
M routes/routes.goroutes/routes.go
@@ -35,6 +35,10 @@
infos := []info{} for _, dir := range dirs { + if d.isIgnored(dir.Name()) { + continue + } + path := filepath.Join(d.c.Repo.ScanPath, dir.Name()) gr, err := git.Open(path, "") if err != nil {
@@ -77,8 +81,13 @@ }
func (d *deps) RepoIndex(w http.ResponseWriter, r *http.Request) { name := flow.Param(r.Context(), "name") + if d.isIgnored(name) { + d.Write404(w) + return + } name = filepath.Clean(name) path := filepath.Join(d.c.Repo.ScanPath, name) + gr, err := git.Open(path, "") if err != nil { d.Write404(w)
@@ -136,6 +145,10 @@ }
func (d *deps) RepoTree(w http.ResponseWriter, r *http.Request) { name := flow.Param(r.Context(), "name") + if d.isIgnored(name) { + d.Write404(w) + return + } treePath := flow.Param(r.Context(), "...") ref := flow.Param(r.Context(), "ref")
@@ -166,6 +179,10 @@ }
func (d *deps) FileContent(w http.ResponseWriter, r *http.Request) { name := flow.Param(r.Context(), "name") + if d.isIgnored(name) { + d.Write404(w) + return + } treePath := flow.Param(r.Context(), "...") ref := flow.Param(r.Context(), "ref")
@@ -190,6 +207,10 @@ }
func (d *deps) Log(w http.ResponseWriter, r *http.Request) { name := flow.Param(r.Context(), "name") + if d.isIgnored(name) { + d.Write404(w) + return + } ref := flow.Param(r.Context(), "ref") path := filepath.Join(d.c.Repo.ScanPath, name)
@@ -224,6 +245,10 @@ }
func (d *deps) Diff(w http.ResponseWriter, r *http.Request) { name := flow.Param(r.Context(), "name") + if d.isIgnored(name) { + d.Write404(w) + return + } ref := flow.Param(r.Context(), "ref") path := filepath.Join(d.c.Repo.ScanPath, name)
@@ -261,6 +286,10 @@ }
func (d *deps) Refs(w http.ResponseWriter, r *http.Request) { name := flow.Param(r.Context(), "name") + if d.isIgnored(name) { + d.Write404(w) + return + } path := filepath.Join(d.c.Repo.ScanPath, name) gr, err := git.Open(path, "")
@@ -305,13 +334,3 @@ f = filepath.Clean(filepath.Join(d.c.Dirs.Static, f))
http.ServeFile(w, r, f) } - -func getDescription(path string) (desc string) { - db, err := os.ReadFile(filepath.Join(path, "description")) - if err == nil { - desc = string(db) - } else { - desc = "" - } - return -}