diff options
author | Joey Hess <joey@kitenet.net> | 2010-12-28 17:44:36 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-12-28 17:44:36 -0400 |
commit | 3714364905a23f3b64c6573a4121bd1cc5acb11e (patch) | |
tree | 71ec1d6007c1bc1be3cf397dd07c601b7f5ce5ec /doc | |
parent | 7329a1b655f7011f09a4519209da748061a014c4 (diff) |
design for a git-annex-shell
Diffstat (limited to 'doc')
-rw-r--r-- | doc/bugs/wishlist:_support_for_more_ssh_urls_.mdwn | 2 | ||||
-rw-r--r-- | doc/todo/git-annex-shell.mdwn | 42 |
2 files changed, 43 insertions, 1 deletions
diff --git a/doc/bugs/wishlist:_support_for_more_ssh_urls_.mdwn b/doc/bugs/wishlist:_support_for_more_ssh_urls_.mdwn index 6156ade05..ee3b4a64a 100644 --- a/doc/bugs/wishlist:_support_for_more_ssh_urls_.mdwn +++ b/doc/bugs/wishlist:_support_for_more_ssh_urls_.mdwn @@ -16,5 +16,5 @@ Specifically, if I have ~/bar set up on host foo: > are somewhat tricky to support as they require running > code on the remote to lookup homedirs. If git-annex grows a > `git annex shell` that is run on the remote side -> (something I am considering for other reasons), it +> (something I am [[considering|todo/git-annex-shell]] for other reasons), it > could handle the expansions there. --[[Joey]] diff --git a/doc/todo/git-annex-shell.mdwn b/doc/todo/git-annex-shell.mdwn new file mode 100644 index 000000000..a5ff7d6fd --- /dev/null +++ b/doc/todo/git-annex-shell.mdwn @@ -0,0 +1,42 @@ +I've been considering adding a `git-annex-shell` command. This would +be similar to `git-shell` (and in fact would pass unknown commands off to +`git-shell`). + +## Reasons + +* Allows locking down an account to only be able to use git-annex (and + git). +* Avoids needing to construct complex shell commands to run on the remote + system. (Mostly already avoided by the plumbing level commands.) +* Could possibly allow multiple things to be done with one ssh connection + in future. +* Allows expanding `~` and `~user` in repopath on the remote system. + +## Design + +`git-annex-shell -c <command> <repopath> <arguments>` + +### options + +Need at least `--quiet`, `--backend`, `--key`, `--force` + +### commands + +* `configlist repopath` + + Returns `git config --list`, for use by `tryGitConfigRead`. + + May filter the listed config to only the options git-annex really needs, + to prevent info disclosure. + +* `inannex repopath key ...` + + Checks if the keys are in the annex; shell exits zero if so. + +* `dropkey repopath key ... ` + + Same as `git annex dropkey`, and taking the same dashed options. + +* `setkey repopath tmpfile` + + Same as `git annex setkey`, and taking the same dashed options. |