Autogenerated HTML docs for v1.3.0-rc1-g40e9
[git.git] / git-daemon.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
2     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
4 <head>\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
6 <meta name="generator" content="AsciiDoc 7.0.2" />\r
7 <style type="text/css">\r
8 /* Debug borders */\r
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {\r
10 /*\r
11   border: 1px solid red;\r
12 */\r
13 }\r
14 \r
15 body {\r
16   margin: 1em 5% 1em 5%;\r
17 }\r
18 \r
19 a { color: blue; }\r
20 a:visited { color: fuchsia; }\r
21 \r
22 em {\r
23   font-style: italic;\r
24 }\r
25 \r
26 strong {\r
27   font-weight: bold;\r
28 }\r
29 \r
30 tt {\r
31   color: navy;\r
32 }\r
33 \r
34 h1, h2, h3, h4, h5, h6 {\r
35   color: #527bbd;\r
36   font-family: sans-serif;\r
37   margin-top: 1.2em;\r
38   margin-bottom: 0.5em;\r
39   line-height: 1.3;\r
40 }\r
41 \r
42 h1 {\r
43   border-bottom: 2px solid silver;\r
44 }\r
45 h2 {\r
46   border-bottom: 2px solid silver;\r
47   padding-top: 0.5em;\r
48 }\r
49 \r
50 div.sectionbody {\r
51   font-family: serif;\r
52   margin-left: 0;\r
53 }\r
54 \r
55 hr {\r
56   border: 1px solid silver;\r
57 }\r
58 \r
59 p {\r
60   margin-top: 0.5em;\r
61   margin-bottom: 0.5em;\r
62 }\r
63 \r
64 pre {\r
65   padding: 0;\r
66   margin: 0;\r
67 }\r
68 \r
69 span#author {\r
70   color: #527bbd;\r
71   font-family: sans-serif;\r
72   font-weight: bold;\r
73   font-size: 1.2em;\r
74 }\r
75 span#email {\r
76 }\r
77 span#revision {\r
78   font-family: sans-serif;\r
79 }\r
80 \r
81 div#footer {\r
82   font-family: sans-serif;\r
83   font-size: small;\r
84   border-top: 2px solid silver;\r
85   padding-top: 0.5em;\r
86   margin-top: 4.0em;\r
87 }\r
88 div#footer-text {\r
89   float: left;\r
90   padding-bottom: 0.5em;\r
91 }\r
92 div#footer-badges {\r
93   float: right;\r
94   padding-bottom: 0.5em;\r
95 }\r
96 \r
97 div#preamble,\r
98 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,\r
99 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,\r
100 div.admonitionblock {\r
101   margin-right: 10%;\r
102   margin-top: 1.5em;\r
103   margin-bottom: 1.5em;\r
104 }\r
105 div.admonitionblock {\r
106   margin-top: 2.5em;\r
107   margin-bottom: 2.5em;\r
108 }\r
109 \r
110 div.content { /* Block element content. */\r
111   padding: 0;\r
112 }\r
113 \r
114 /* Block element titles. */\r
115 div.title, caption.title {\r
116   font-family: sans-serif;\r
117   font-weight: bold;\r
118   text-align: left;\r
119   margin-top: 1.0em;\r
120   margin-bottom: 0.5em;\r
121 }\r
122 div.title + * {\r
123   margin-top: 0;\r
124 }\r
125 \r
126 td div.title:first-child {\r
127   margin-top: 0.0em;\r
128 }\r
129 div.content div.title:first-child {\r
130   margin-top: 0.0em;\r
131 }\r
132 div.content + div.title {\r
133   margin-top: 0.0em;\r
134 }\r
135 \r
136 div.sidebarblock > div.content {\r
137   background: #ffffee;\r
138   border: 1px solid silver;\r
139   padding: 0.5em;\r
140 }\r
141 \r
142 div.listingblock > div.content {\r
143   border: 1px solid silver;\r
144   background: #f4f4f4;\r
145   padding: 0.5em;\r
146 }\r
147 \r
148 div.quoteblock > div.content {\r
149   padding-left: 2.0em;\r
150 }\r
151 div.quoteblock .attribution {\r
152   text-align: right;\r
153 }\r
154 \r
155 div.admonitionblock .icon {\r
156   vertical-align: top;\r
157   font-size: 1.1em;\r
158   font-weight: bold;\r
159   text-decoration: underline;\r
160   color: #527bbd;\r
161   padding-right: 0.5em;\r
162 }\r
163 div.admonitionblock td.content {\r
164   padding-left: 0.5em;\r
165   border-left: 2px solid silver;\r
166 }\r
167 \r
168 div.exampleblock > div.content {\r
169   border-left: 2px solid silver;\r
170   padding: 0.5em;\r
171 }\r
172 \r
173 div.verseblock div.content {\r
174   white-space: pre;\r
175 }\r
176 \r
177 div.imageblock div.content { padding-left: 0; }\r
178 div.imageblock img { border: 1px solid silver; }\r
179 span.image img { border-style: none; }\r
180 \r
181 dl {\r
182   margin-top: 0.8em;\r
183   margin-bottom: 0.8em;\r
184 }\r
185 dt {\r
186   margin-top: 0.5em;\r
187   margin-bottom: 0;\r
188   font-style: italic;\r
189 }\r
190 dd > *:first-child {\r
191   margin-top: 0;\r
192 }\r
193 \r
194 ul, ol {\r
195     list-style-position: outside;\r
196 }\r
197 ol.olist2 {\r
198   list-style-type: lower-alpha;\r
199 }\r
200 \r
201 div.tableblock > table {\r
202   border-color: #527bbd;\r
203   border-width: 3px;\r
204 }\r
205 thead {\r
206   font-family: sans-serif;\r
207   font-weight: bold;\r
208 }\r
209 tfoot {\r
210   font-weight: bold;\r
211 }\r
212 \r
213 div.hlist {\r
214   margin-top: 0.8em;\r
215   margin-bottom: 0.8em;\r
216 }\r
217 td.hlist1 {\r
218   vertical-align: top;\r
219   font-style: italic;\r
220   padding-right: 0.8em;\r
221 }\r
222 td.hlist2 {\r
223   vertical-align: top;\r
224 }\r
225 \r
226 @media print {\r
227   div#footer-badges { display: none; }\r
228 }\r
229 include::./stylesheets/xhtml11-manpage.css[]\r
230 /* Workarounds for IE6's broken and incomplete CSS2. */\r
231 \r
232 div.sidebar-content {\r
233   background: #ffffee;\r
234   border: 1px solid silver;\r
235   padding: 0.5em;\r
236 }\r
237 div.sidebar-title, div.image-title {\r
238   font-family: sans-serif;\r
239   font-weight: bold;\r
240   margin-top: 0.0em;\r
241   margin-bottom: 0.5em;\r
242 }\r
243 \r
244 div.listingblock div.content {\r
245   border: 1px solid silver;\r
246   background: #f4f4f4;\r
247   padding: 0.5em;\r
248 }\r
249 \r
250 div.quoteblock-content {\r
251   padding-left: 2.0em;\r
252 }\r
253 \r
254 div.exampleblock-content {\r
255   border-left: 2px solid silver;\r
256   padding-left: 0.5em;\r
257 }\r
258 </style>\r
259 <title>git-daemon(1)</title>\r
260 </head>\r
261 <body>\r
262 <div id="header">\r
263 <h1>\r
264 git-daemon(1) Manual Page\r
265 </h1>\r
266 <h2>NAME</h2>\r
267 <div class="sectionbody">\r
268 <p>git-daemon -\r
269    A really simple server for git repositories\r
270 </p>\r
271 </div>\r
272 </div>\r
273 <h2>SYNOPSIS</h2>\r
274 <div class="sectionbody">\r
275 <div class="verseblock">\r
276 <div class="content"><em>git-daemon</em> [--verbose] [--syslog] [--inetd | --port=n] [--export-all]\r
277              [--timeout=n] [--init-timeout=n] [--strict-paths]\r
278              [--base-path=path] [--user-path | --user-path=path]\r
279              [directory&#8230;]</div></div>\r
280 </div>\r
281 <h2>DESCRIPTION</h2>\r
282 <div class="sectionbody">\r
283 <p>A really simple TCP git daemon that normally listens on port "DEFAULT_GIT_PORT"\r
284 aka 9418. It waits for a connection, and will just execute "git-upload-pack"\r
285 when it gets one.</p>\r
286 <p>It's careful in that there's a magic request-line that gives the command and\r
287 what directory to upload, and it verifies that the directory is ok.</p>\r
288 <p>It verifies that the directory has the magic file "git-daemon-export-ok", and\r
289 it will refuse to export any git directory that hasn't explicitly been marked\r
290 for export this way (unless the <em>--export-all</em> parameter is specified). If you\r
291 pass some directory paths as <em>git-daemon</em> arguments, you can further restrict\r
292 the offers to a whitelist comprising of those.</p>\r
293 <p>This is ideally suited for read-only updates, ie pulling from git repositories.</p>\r
294 </div>\r
295 <h2>OPTIONS</h2>\r
296 <div class="sectionbody">\r
297 <dl>\r
298 <dt>\r
299 --strict-paths\r
300 </dt>\r
301 <dd>\r
302 <p>\r
303         Match paths exactly (i.e. don't allow "/foo/repo" when the real path is\r
304         "/foo/repo.git" or "/foo/repo/.git") and don't do user-relative paths.\r
305         git-daemon will refuse to start when this option is enabled and no\r
306         whitelist is specified.\r
307 </p>\r
308 </dd>\r
309 <dt>\r
310 --base-path\r
311 </dt>\r
312 <dd>\r
313 <p>\r
314         Remap all the path requests as relative to the given path.\r
315         This is sort of "GIT root" - if you run git-daemon with\r
316         <em>--base-path=/srv/git</em> on example.com, then if you later try to pull\r
317         <em>git://example.com/hello.git</em>, <tt>git-daemon</tt> will interpret the path\r
318         as <em>/srv/git/hello.git</em>.\r
319 </p>\r
320 </dd>\r
321 <dt>\r
322 --export-all\r
323 </dt>\r
324 <dd>\r
325 <p>\r
326         Allow pulling from all directories that look like GIT repositories\r
327         (have the <em>objects</em> and <em>refs</em> subdirectories), even if they\r
328         do not have the <em>git-daemon-export-ok</em> file.\r
329 </p>\r
330 </dd>\r
331 <dt>\r
332 --inetd\r
333 </dt>\r
334 <dd>\r
335 <p>\r
336         Have the server run as an inetd service. Implies --syslog.\r
337 </p>\r
338 </dd>\r
339 <dt>\r
340 --port\r
341 </dt>\r
342 <dd>\r
343 <p>\r
344         Listen on an alternative port.\r
345 </p>\r
346 </dd>\r
347 <dt>\r
348 --init-timeout\r
349 </dt>\r
350 <dd>\r
351 <p>\r
352         Timeout between the moment the connection is established and the\r
353         client request is received (typically a rather low value, since\r
354         that should be basically immediate).\r
355 </p>\r
356 </dd>\r
357 <dt>\r
358 --timeout\r
359 </dt>\r
360 <dd>\r
361 <p>\r
362         Timeout for specific client sub-requests. This includes the time\r
363         it takes for the server to process the sub-request and time spent\r
364         waiting for next client's request.\r
365 </p>\r
366 </dd>\r
367 <dt>\r
368 --syslog\r
369 </dt>\r
370 <dd>\r
371 <p>\r
372         Log to syslog instead of stderr. Note that this option does not imply\r
373         --verbose, thus by default only error conditions will be logged.\r
374 </p>\r
375 </dd>\r
376 <dt>\r
377 --user-path, --user-path=path\r
378 </dt>\r
379 <dd>\r
380 <p>\r
381         Allow ~user notation to be used in requests.  When\r
382         specified with no parameter, requests to\r
383         git://host/~alice/foo is taken as a request to access\r
384         <em>foo</em> repository in the home directory of user <tt>alice</tt>.\r
385         If <tt>--user-path=path</tt> is specified, the same request is\r
386         taken as a request to access <tt>path/foo</tt> repository in\r
387         the home directory of user <tt>alice</tt>.\r
388 </p>\r
389 </dd>\r
390 <dt>\r
391 --verbose\r
392 </dt>\r
393 <dd>\r
394 <p>\r
395         Log details about the incoming connections and requested files.\r
396 </p>\r
397 </dd>\r
398 <dt>\r
399 &lt;directory&gt;\r
400 </dt>\r
401 <dd>\r
402 <p>\r
403         A directory to add to the whitelist of allowed directories. Unless\r
404         --strict-paths is specified this will also include subdirectories\r
405         of each named directory.\r
406 </p>\r
407 </dd>\r
408 </dl>\r
409 </div>\r
410 <h2>Author</h2>\r
411 <div class="sectionbody">\r
412 <p>Written by Linus Torvalds &lt;torvalds@osdl.org&gt;, YOSHIFUJI Hideaki\r
413 &lt;yoshfuji@linux-ipv6.org&gt; and the git-list &lt;git@vger.kernel.org&gt;</p>\r
414 </div>\r
415 <h2>Documentation</h2>\r
416 <div class="sectionbody">\r
417 <p>Documentation by Junio C Hamano and the git-list &lt;git@vger.kernel.org&gt;.</p>\r
418 </div>\r
419 <h2>GIT</h2>\r
420 <div class="sectionbody">\r
421 <p>Part of the <a href="git.html">git(7)</a> suite</p>\r
422 </div>\r
423 <div id="footer">\r
424 <div id="footer-text">\r
425 Last updated 10-Mar-2006 00:31:23 UTC\r
426 </div>\r
427 </div>\r
428 </body>\r
429 </html>\r