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.
Identify accounts by their registered name
62576fa8157d431dcf2d360f3ebe481de77bda03 · Keenan Nemetz · 14d ago · parent 642e5994
Identify accounts by their registered name Drop the internal account id and display name. Users, keys, passkeys, invites, sessions, ACL entries, approvals, locks and CI records now all use the registered name as the single identity. The roster migrates in place: old id-keyed tables are rebuilt around the name, and access-rule/lock references are rewritten through the same mapping. Display-name editing and whoami --id are removed.
docs/operations.md +7−3
| @@ -39,9 +39,13 @@ with them because they are stored in Git. | |||
| 39 | 39 | 5. Start `vole serve`. | |
| 40 | 40 | ||
| 41 | 41 | Release notes for an upgrade: an older `users.db` is upgraded in place when it is | |
| 42 | opened. The `display` column is added, and the retired `user_names` alias table is | ||
| 43 | dropped — an account name is fixed at creation now, so there are no former names | ||
| 44 | to remember. Take a backup first if you might roll the binary back. | ||
| 42 | opened. Accounts used to have an internal id and an optional display label; both | ||
| 43 | are gone, and every key, passkey, invite, session and admin grant is rebuilt | ||
| 44 | around the registered name. Access-rule entries and file locks in that database | ||
| 45 | are rewritten through the same mapping, and the retired `user_names` alias table | ||
| 46 | is dropped. Take a backup first if you might roll the binary back. Approval files | ||
| 47 | live in Git and are not rewritten; an approval written under an old account id | ||
| 48 | stops matching, so ask for a fresh approval. | ||
| 45 | 49 | ||
| 46 | 50 | Contributor branches moved from `refs/heads/contrib/<account-id>/` to | |
| 47 | 51 | `refs/heads/contrib/<name>/`. Old refs stay in the repository and can still be | |