Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

A free and open-source forge that lives in your Git repo.

Add file history and blame views

67a308badf4a88298639271a1201ff45cc3737a6 · Keenan Nemetz · 15d ago · parent f204e7ee

Add file history and blame views

A blob's toolbar now links to the commits that touched its path and to per-line attribution. File history uses git log for the path, following renames for blobs; blame groups consecutive lines by commit and shows the author and age in a left column. Both are read-only and reuse the existing commit-link and escaping rules.

server/server.go +2

@@ -189,6 +189,8 @@ func (s *Server) routes() *http.ServeMux {
189 189 mux.HandleFunc("GET /r/{name}/blob/{ref}/{path...}", w.Blob)
190 190 mux.HandleFunc("GET /r/{name}/raw/{ref}/{path...}", w.Raw)
191 191 mux.HandleFunc("GET /r/{name}/commits/{ref}", w.Commits)
192 mux.HandleFunc("GET /r/{name}/commits/{ref}/{path...}", w.FileHistory)
193 mux.HandleFunc("GET /r/{name}/blame/{ref}/{path...}", w.Blame)
192 194 mux.HandleFunc("GET /r/{name}/commit/{sha}", w.CommitView)
193 195 mux.HandleFunc("GET /r/{name}/issues", w.Issues)
194 196 mux.HandleFunc("GET /r/{name}/issues/new", w.NewIssuePage)