X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fgit-daemon.txt;h=4c357daf6ab23e3b3359388b101be8d363ae3be7;hb=210a0be504829bad5a2821488d3c25cc406fed4a;hp=5886c83ec8b3b8a9b2d45a3094f6fbdd5f7c0904;hpb=58eaf287f1b25f6427b06bd72d8e555615828aeb;p=git.git diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt index 5886c83e..4c357daf 100644 --- a/Documentation/git-daemon.txt +++ b/Documentation/git-daemon.txt @@ -3,30 +3,94 @@ git-daemon(1) NAME ---- -git-daemon - Some git command not yet documented. - +git-daemon - A really simple server for git repositories SYNOPSIS -------- -'git-daemon' [ --option ] ... +[verse] +'git-daemon' [--verbose] [--syslog] [--inetd | --port=n] [--export-all] + [--timeout=n] [--init-timeout=n] [--strict-paths] + [--base-path=path] [--user-path | --user-path=path] + [directory...] DESCRIPTION ----------- -Does something not yet documented. +A really simple TCP git daemon that normally listens on port "DEFAULT_GIT_PORT" +aka 9418. It waits for a connection, and will just execute "git-upload-pack" +when it gets one. + +It's careful in that there's a magic request-line that gives the command and +what directory to upload, and it verifies that the directory is OK. + +It verifies that the directory has the magic file "git-daemon-export-ok", and +it will refuse to export any git directory that hasn't explicitly been marked +for export this way (unless the '--export-all' parameter is specified). If you +pass some directory paths as 'git-daemon' arguments, you can further restrict +the offers to a whitelist comprising of those. +This is ideally suited for read-only updates, i.e., pulling from git repositories. OPTIONS ------- ---option:: - Some option not yet documented. +--strict-paths:: + Match paths exactly (i.e. don't allow "/foo/repo" when the real path is + "/foo/repo.git" or "/foo/repo/.git") and don't do user-relative paths. + git-daemon will refuse to start when this option is enabled and no + whitelist is specified. + +--base-path:: + Remap all the path requests as relative to the given path. + This is sort of "GIT root" - if you run git-daemon with + '--base-path=/srv/git' on example.com, then if you later try to pull + 'git://example.com/hello.git', `git-daemon` will interpret the path + as '/srv/git/hello.git'. + +--export-all:: + Allow pulling from all directories that look like GIT repositories + (have the 'objects' and 'refs' subdirectories), even if they + do not have the 'git-daemon-export-ok' file. + +--inetd:: + Have the server run as an inetd service. Implies --syslog. + +--port:: + Listen on an alternative port. + +--init-timeout:: + Timeout between the moment the connection is established and the + client request is received (typically a rather low value, since + that should be basically immediate). + +--timeout:: + Timeout for specific client sub-requests. This includes the time + it takes for the server to process the sub-request and time spent + waiting for next client's request. + +--syslog:: + Log to syslog instead of stderr. Note that this option does not imply + --verbose, thus by default only error conditions will be logged. + +--user-path, --user-path=path:: + Allow ~user notation to be used in requests. When + specified with no parameter, requests to + git://host/~alice/foo is taken as a request to access + 'foo' repository in the home directory of user `alice`. + If `--user-path=path` is specified, the same request is + taken as a request to access `path/foo` repository in + the home directory of user `alice`. -...:: - Some argument not yet documented. +--verbose:: + Log details about the incoming connections and requested files. +:: + A directory to add to the whitelist of allowed directories. Unless + --strict-paths is specified this will also include subdirectories + of each named directory. Author ------ -Written by Linus Torvalds and YOSHIFUJI Hideaki +Written by Linus Torvalds , YOSHIFUJI Hideaki + and the git-list Documentation -------------- @@ -34,5 +98,5 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the link:git.html[git] suite +Part of the gitlink:git[7] suite