Sample programs callable through git-shell. Place a directory named 'git-shell-commands' in the home directory of a user whose shell is git-shell. Then anyone logging in as that user will be able to run executables in the 'git-shell-commands' directory. All those callable will be run with home directory as cwd. The directory ~/trash will be treated as trash bin of git repository. Provided commands: help: Prints out the names of available commands. When run interactively, git-shell will automatically run 'help' on startup, provided it exists. list: Displays any bare repository whose name ends with ".git" under user's home directory. Repository in TRASH_DIR will not be listed. newrepo: Initialize a bare repository at user's home directory, it's parameter is the fullname of the repository. It will try to add .git suffix after fullname, and refuse fullname with a suffix slash. When initializing repository, it will use git-template as template-dir. delrepo: Move the repository directory to TRASH_DIR, so it would not be listed by command list. desc: Display or modify a repository's description by read/write description file under a bare repository. it is useful eapecially when using cgit or git-web that respect repository'description.