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.
Read one request, or one commit, instead of resolving twice
c9202f7f0ba5904af798e7f55bb91079aa774bf5 · Keenan Nemetz · 10d ago · parent 73ec800b
Read one request, or one commit, instead of resolving twice The index and the change page both paid for reads they did not need: - GetRequest read every request on the branch to return one. It now reads that request's files. - The index resolves the metadata commit once and then handed the ref to loaders that resolved it again. LoadIssuesAt, LoadNumbersAt and LoadRequestAt take the commit they were given. - Release artifacts get a batched loader: one tree listing and one cat-file for the whole set, instead of one process per file per tag. These are the loaders the index needs to derive its rows from one commit at a time.
metadata/number.go +6
| @@ -68,6 +68,12 @@ func LoadNumbers(g *git.Repo, ref string) (*Numbers, error) { | |||
| 68 | 68 | if err != nil { | |
| 69 | 69 | return nil, err | |
| 70 | 70 | } | |
| 71 | return LoadNumbersAt(g, commit) | ||
| 72 | } | ||
| 73 | |||
| 74 | // LoadNumbersAt numbers the entities a commit's history added. It takes the | ||
| 75 | // commit rather than a ref so the index can resolve the metadata branch once. | ||
| 76 | func LoadNumbersAt(g *git.Repo, commit string) (*Numbers, error) { | ||
| 71 | 77 | if commit == "" { | |
| 72 | 78 | return newNumbers(), nil | |
| 73 | 79 | } | |