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.
Add remote administration and local workflow runs
3abbe749096f4d7ff76f4d468e4427829b8a6f95 · Keenan Nemetz · 16d ago · parent 520470e1
Add remote administration and local workflow runs Make `vole admin` the single namespace for user, repository, and access management, runnable locally or over SSH by instance admins. Instance-admin grants live in users.db, and the audit log names the actor separately from the account being changed. Add `vole workflow run` to execute workflow jobs in the working tree without a server or runner. Positional arguments select workflows, --job selects jobs, and the command reuses the push-time validator. Update the README and guides for the new command shapes.
core/lfs/lfs.go +2−2
| @@ -6,7 +6,7 @@ | |||
| 6 | 6 | // two repositories costs one copy. | |
| 7 | 7 | // | |
| 8 | 8 | // The store is derived, not authoritative: git is. An object that no live ref | |
| 9 | // points at is garbage, which is why `vole gc` marks from the refs rather than | ||
| 9 | // points at is garbage, which is why `vole admin gc` marks from the refs rather than | ||
| 10 | 10 | // trusting a counter that a crash could have left wrong. | |
| 11 | 11 | package lfs | |
| 12 | 12 | ||
| @@ -476,7 +476,7 @@ func (s *Store) Walk(fn func(oid string, size int64) error) error { | |||
| 476 | 476 | }) | |
| 477 | 477 | } | |
| 478 | 478 | ||
| 479 | // Usage totals what the store holds, for `vole gc` and the repository page. | ||
| 479 | // Usage totals what the store holds, for `vole admin gc` and the repository page. | ||
| 480 | 480 | func (s *Store) Usage() (objects int, bytes int64, err error) { | |
| 481 | 481 | err = s.Walk(func(_ string, size int64) error { | |
| 482 | 482 | objects++ | |