git-annex-shell(1)

NAME
git-annex-shell - Restricted login shell for git-annex only SSH access

SYNOPSIS
git-annex-shell [-c] command [params ...]

DESCRIPTION
git-annex-shell is a restricted shell, similar to git-shell, which can be used as a login shell for SSH accounts.

Since its syntax is identical to git-shell's, it can be used as a drop-in replacement anywhere git-shell is used. For example it can be used as a user's restricted login shell.

COMMANDS
Any command not listed below is passed through to git-shell.

Note that the directory parameter should be an absolute path, otherwise it is assumed to be relative to the user's home directory. Also the first "/~/" or "/~user/" is expanded to the specified home directory.

configlist directory
    This outputs a subset of the git configuration, in the same form as git config --list

inannex directory [key ...]
    This checks if all specified keys are present in the annex, and exits zero if so.

dropkey directory [key ...]
    This drops the annexed data for the specified keys.

recvkey directory key
    This runs rsync in server mode to receive the content of a key, and stores the content in the annex.

sendkey directory key
    This runs rsync in server mode to transfer out the content of a key.

commit directory
    This commits any staged changes to the git-annex branch. It also runs the annex-content hook.

OPTIONS
Most options are the same as in git-annex. The ones specific to git-annex-shell are:

--uuid=UUID
    git-annex uses this to specify the UUID of the repository it was expecting git-annex-shell to access, as a sanity check.

-- fields=val fields=val.. --
    Additional fields may be specified this way, to retain compatability with past versions of git-annex-shell (that ignore these, but would choke on new dashed options).

    Currently used fields include remoteuuid= and associatedfile=

HOOK
After content is received or dropped from the repository by git-annex-shell, it runs a hook, .git/hooks/annex-content (or hooks/annex-content on a bare repository). The hook is not currently passed any information about what changed.

ENVIRONMENT

GIT_ANNEX_SHELL_READONLY

    If set, disallows any command that could modify the repository.

GIT_ANNEX_SHELL_LIMITED
    If set, disallows running git-shell to handle unknown commands.

SEE ALSO
git-annex(1)

git-shell(1)

AUTHOR
Joey Hess <joey@kitenet.net>

<http://git-annex.branchable.com/>