Merge fixes up to GIT 1.0.7
[git.git] / Documentation / git-daemon.txt
1 git-daemon(1)
2 =============
3
4 NAME
5 ----
6 git-daemon - A really simple server for git repositories.
7
8 SYNOPSIS
9 --------
10 [verse]
11 'git-daemon' [--verbose] [--syslog] [--inetd | --port=n] [--export-all]
12            [--timeout=n] [--init-timeout=n] [--strict-paths] [directory...]
13
14 DESCRIPTION
15 -----------
16 A really simple TCP git daemon that normally listens on port "DEFAULT_GIT_PORT"
17 aka 9418. It waits for a connection, and will just execute "git-upload-pack"
18 when it gets one.
19
20 It's careful in that there's a magic request-line that gives the command and
21 what directory to upload, and it verifies that the directory is ok.
22
23 It verifies that the directory has the magic file "git-daemon-export-ok", and
24 it will refuse to export any git directory that hasn't explicitly been marked
25 for export this way (unless the '--export-all' parameter is specified). If you
26 pass some directory paths as 'git-daemon' arguments, you can further restrict
27 the offers to a whitelist comprising of those.
28
29 This is ideally suited for read-only updates, ie pulling from git repositories.
30
31 OPTIONS
32 -------
33 --strict-paths::
34         Match paths exactly (i.e. don't allow "/foo/repo" when the real path is
35         "/foo/repo.git" or "/foo/repo/.git") and don't do user-relative paths.
36         git-daemon will refuse to start when this option is enabled and no
37         whitelist is specified.
38
39 --export-all::
40         Allow pulling from all directories that look like GIT repositories
41         (have the 'objects' and 'refs' subdirectories), even if they
42         do not have the 'git-daemon-export-ok' file.
43
44 --inetd::
45         Have the server run as an inetd service. Implies --syslog.
46
47 --port::
48         Listen on an alternative port.
49
50 --init-timeout::
51         Timeout between the moment the connection is established and the
52         client request is received (typically a rather low value, since
53         that should be basically immediate).
54
55 --timeout::
56         Timeout for specific client sub-requests. This includes the time
57         it takes for the server to process the sub-request and time spent
58         waiting for next client's request.
59
60 --syslog::
61         Log to syslog instead of stderr. Note that this option does not imply
62         --verbose, thus by default only error conditions will be logged.
63
64 --verbose::
65         Log details about the incoming connections and requested files.
66
67 <directory>::
68         A directory to add to the whitelist of allowed directories. Unless
69         --strict-paths is specified this will also include subdirectories
70         of each named directory.
71
72 Author
73 ------
74 Written by Linus Torvalds <torvalds@osdl.org>, YOSHIFUJI Hideaki
75 <yoshfuji@linux-ipv6.org> and the git-list <git@vger.kernel.org>
76
77 Documentation
78 --------------
79 Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
80
81 GIT
82 ---
83 Part of the gitlink:git[7] suite
84