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/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

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

Docs: rewrite the README and organize the guides

520470e19cd906bd6fff987e2d132d793ce56486 · Keenan Nemetz · 16d ago · parent c5902451

Docs: rewrite the README and organize the guides

Replace the long README with a landing page, split feature details into focused guides, and remove the roadmap and spike notes. Update comments that referenced them.

server/web/releases.go +6−7

@@ -20,9 +20,8 @@ import (
20 20
21 21 // archiveConc bounds concurrent compressed archives. Plain tar streams at
22 22 // ~1 GiB/s and needs no bound; gzip is single-threaded per stream, and eight
23 // concurrent gzipped archives of a 100 MiB tree cost 13 s of CPU (see
24 // docs/spikes/archive-streaming). Queueing a request is better than making every
25 // request late.
23 // concurrent gzipped archives of a 100 MiB tree cost 13 s of CPU. Queueing a
24 // request is better than making every request late.
26 25 const archiveConc = 4
27 26
28 27 // maxReleaseCommits bounds the "since the previous release" list. A release a
@@ -86,10 +85,10 @@ func (w *Web) ReleaseView(rw http.ResponseWriter, r *http.Request) {
86 85 artifactBytes += a.Size
87 86 }
88 87
89 // git archive copies LFS pointer files verbatim (measured in spike D), so a
90 // tarball of an LFS repository holds shopping lists where the reader expects
91 // bytes. Saying so is cheaper than resolving pointers, and a silent pointer is
92 // the kind of surprise that costs an afternoon.
88 // git archive copies LFS pointer files verbatim, so a tarball of an LFS
89 // repository holds shopping lists where the reader expects bytes. Saying so is
90 // cheaper than resolving pointers, and a silent pointer is the kind of surprise
91 // that costs an afternoon.
93 92 lfsPointers := usesLFS(g, t.Commit)
94 93
95 94 // Only an annotated tag has notes of its own; a lightweight tag's message is