73c41ccead86b263e96f80118237e11b0d0a7f91
[git.git] / man1 / git-daemon.1
1 .\"Generated by db2man.xsl. Don't modify this, modify the source.
2 .de Sh \" Subsection
3 .br
4 .if t .Sp
5 .ne 5
6 .PP
7 \fB\\$1\fR
8 .PP
9 ..
10 .de Sp \" Vertical space (when we can't use .PP)
11 .if t .sp .5v
12 .if n .sp
13 ..
14 .de Ip \" List item
15 .br
16 .ie \\n(.$>=3 .ne \\$3
17 .el .ne 3
18 .IP "\\$1" \\$2
19 ..
20 .TH "GIT-DAEMON" 1 "" "" ""
21 .SH NAME
22 git-daemon \- A really simple server for git repositories.
23 .SH "SYNOPSIS"
24
25 .nf
26 git\-daemon [\-\-verbose] [\-\-syslog] [\-\-inetd | \-\-port=n] [\-\-export\-all]
27            [\-\-timeout=n] [\-\-init\-timeout=n] [\-\-strict\-paths] [directory...]
28 .fi
29
30 .SH "DESCRIPTION"
31
32
33 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\&.
34
35
36 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\&.
37
38
39 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\&.
40
41
42 This is ideally suited for read\-only updates, ie pulling from git repositories\&.
43
44 .SH "OPTIONS"
45
46 .TP
47 \-\-strict\-paths
48 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\&.
49
50 .TP
51 \-\-export\-all
52 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\&.
53
54 .TP
55 \-\-inetd
56 Have the server run as an inetd service\&. Implies \-\-syslog\&.
57
58 .TP
59 \-\-port
60 Listen on an alternative port\&.
61
62 .TP
63 \-\-init\-timeout
64 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)\&.
65
66 .TP
67 \-\-timeout
68 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\&.
69
70 .TP
71 \-\-syslog
72 Log to syslog instead of stderr\&. Note that this option does not imply \-\-verbose, thus by default only error conditions will be logged\&.
73
74 .TP
75 \-\-verbose
76 Log details about the incoming connections and requested files\&.
77
78 .TP
79 <directory>
80 A directory to add to the whitelist of allowed directories\&. Unless \-\-strict\-paths is specified this will also include subdirectories of each named directory\&.
81
82 .SH "AUTHOR"
83
84
85 Written by Linus Torvalds <torvalds@osdl\&.org>, YOSHIFUJI Hideaki <yoshfuji@linux\-ipv6\&.org> and the git\-list <git@vger\&.kernel\&.org>
86
87 .SH "DOCUMENTATION"
88
89
90 Documentation by Junio C Hamano and the git\-list <git@vger\&.kernel\&.org>\&.
91
92 .SH "GIT"
93
94
95 Part of the \fBgit\fR(7) suite
96