#+TITLE: Shackle Shell A shell intended for restricted access on a version control repo server. This is intended as a replacement for [[https://git-scm.com/docs/git-shell][Git Shell]], but with the additional commands I want to create new repos, rearrange things, etc built in. It will also limit access to only git repos within the file hierarchy I use. Additionally, this may support passthrough for other version control system like Pijul. * Roadmap - [X] interactive command prompt - [X] non-interactive commands can be run with -c - [X] exit command - [X] git init of private repo - [X] responds to unknown commands - [X] Isolation of workdir between tests - [ ] git fetch with git upload-pack - [ ] extra args for git upload-pack - [ ] git push with git receive-pack - [ ] git archive with git upload-archive - [ ] git init of shared repos - [ ] don't quit interactive shell sessions if there's an error - [ ] help command - [ ] restrict repos to only acceptable paths - [ ] listing of repos - [ ] history (only within same session) - [ ] set repo descriptions - [ ] set the main branch of a repo - [ ] move a repo to a different group - [ ] housekeeping git tasks (git fsck, git gc) - [ ] pijul fetch and pijul push - [ ] pijul support on other commands