.\"Generated by db2man.xsl. Don't modify this, modify the source. .de Sh \" Subsection .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .TH "GIT-DAEMON" 1 "" "" "" .SH NAME git-daemon \- A really simple server for git repositories .SH "SYNOPSIS" .nf \fIgit\-daemon\fR [\-\-verbose] [\-\-syslog] [\-\-inetd | \-\-port=n] [\-\-export\-all] [\-\-timeout=n] [\-\-init\-timeout=n] [\-\-strict\-paths] [\-\-base\-path=path] [\-\-user\-path | \-\-user\-path=path] [directory...] .fi .SH "DESCRIPTION" 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 \fI\-\-export\-all\fR parameter is specified)\&. If you pass some directory paths as \fIgit\-daemon\fR arguments, you can further restrict the offers to a whitelist comprising of those\&. This is ideally suited for read\-only updates, ie pulling from git repositories\&. .SH "OPTIONS" .TP \-\-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\&. .TP \-\-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 \fI\-\-base\-path=/srv/git\fR on example\&.com, then if you later try to pull \fIgit://example\&.com/hello\&.git\fR, git\-daemon will interpret the path as \fI/srv/git/hello\&.git\fR\&. .TP \-\-export\-all Allow pulling from all directories that look like GIT repositories (have the \fIobjects\fR and \fIrefs\fR subdirectories), even if they do not have the \fIgit\-daemon\-export\-ok\fR file\&. .TP \-\-inetd Have the server run as an inetd service\&. Implies \-\-syslog\&. .TP \-\-port Listen on an alternative port\&. .TP \-\-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)\&. .TP \-\-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\&. .TP \-\-syslog Log to syslog instead of stderr\&. Note that this option does not imply \-\-verbose, thus by default only error conditions will be logged\&. .TP \-\-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 \fIfoo\fR 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\&. .TP \-\-verbose Log details about the incoming connections and requested files\&. .TP A directory to add to the whitelist of allowed directories\&. Unless \-\-strict\-paths is specified this will also include subdirectories of each named directory\&. .SH "AUTHOR" Written by Linus Torvalds , YOSHIFUJI Hideaki and the git\-list .SH "DOCUMENTATION" Documentation by Junio C Hamano and the git\-list \&. .SH "GIT" Part of the \fBgit\fR(7) suite