summaryrefslogtreecommitdiff
path: root/readme.org
blob: 94edde57dcd354751d67f9307e47623cace5bb08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#+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 <argument>
- [ ] extra args for git upload-pack
- [ ] git push with git receive-pack <argument>
- [ ] git archive with git upload-archive <argument>
- [ ] 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