blob: 2cc6075fb0b316f4254273caa4fe184fdc5afb35 [file] [log] [blame]
Junio C Hamano1a4e8412005-12-27 08:17:231git-daemon(1)
2=============
3
4NAME
5----
6git-daemon - A really simple server for git repositories.
7
8SYNOPSIS
9--------
Junio C Hamano235a91e2006-01-07 01:13:5810[verse]
Junio C Hamano1a4e8412005-12-27 08:17:2311'git-daemon' [--verbose] [--syslog] [--inetd | --port=n] [--export-all]
Junio C Hamano4d04a402006-01-09 00:53:2812 [--timeout=n] [--init-timeout=n] [--strict-paths]
Junio C Hamano70fafca2006-02-06 08:02:0113 [--base-path=path] [--user-path | --user-path=path]
14 [directory...]
Junio C Hamano1a4e8412005-12-27 08:17:2315
16DESCRIPTION
17-----------
18A really simple TCP git daemon that normally listens on port "DEFAULT_GIT_PORT"
19aka 9418. It waits for a connection, and will just execute "git-upload-pack"
20when it gets one.
21
22It's careful in that there's a magic request-line that gives the command and
23what directory to upload, and it verifies that the directory is ok.
24
25It verifies that the directory has the magic file "git-daemon-export-ok", and
26it will refuse to export any git directory that hasn't explicitly been marked
27for export this way (unless the '--export-all' parameter is specified). If you
28pass some directory paths as 'git-daemon' arguments, you can further restrict
29the offers to a whitelist comprising of those.
30
31This is ideally suited for read-only updates, ie pulling from git repositories.
32
33OPTIONS
34-------
35--strict-paths::
36Match paths exactly (i.e. don't allow "/foo/repo" when the real path is
37"/foo/repo.git" or "/foo/repo/.git") and don't do user-relative paths.
38git-daemon will refuse to start when this option is enabled and no
39whitelist is specified.
40
Junio C Hamano4d04a402006-01-09 00:53:2841--base-path::
42Remap all the path requests as relative to the given path.
43This is sort of "GIT root" - if you run git-daemon with
44'--base-path=/srv/git' on example.com, then if you later try to pull
45'git://example.com/hello.git', `git-daemon` will interpret the path
Junio C Hamano70fafca2006-02-06 08:02:0146as '/srv/git/hello.git'.
Junio C Hamano4d04a402006-01-09 00:53:2847
Junio C Hamano1a4e8412005-12-27 08:17:2348--export-all::
49Allow pulling from all directories that look like GIT repositories
50(have the 'objects' and 'refs' subdirectories), even if they
51do not have the 'git-daemon-export-ok' file.
52
53--inetd::
54Have the server run as an inetd service. Implies --syslog.
55
56--port::
57Listen on an alternative port.
58
59--init-timeout::
60Timeout between the moment the connection is established and the
61client request is received (typically a rather low value, since
62that should be basically immediate).
63
64--timeout::
65Timeout for specific client sub-requests. This includes the time
66it takes for the server to process the sub-request and time spent
67waiting for next client's request.
68
69--syslog::
70Log to syslog instead of stderr. Note that this option does not imply
71--verbose, thus by default only error conditions will be logged.
72
Junio C Hamano70fafca2006-02-06 08:02:0173--user-path, --user-path=path::
74Allow ~user notation to be used in requests. When
75specified with no parameter, requests to
76git://host/~alice/foo is taken as a request to access
77'foo' repository in the home directory of user `alice`.
78If `--user-path=path` is specified, the same request is
79taken as a request to access `path/foo` repository in
80the home directory of user `alice`.
81
Junio C Hamano1a4e8412005-12-27 08:17:2382--verbose::
83Log details about the incoming connections and requested files.
84
85<directory>::
86A directory to add to the whitelist of allowed directories. Unless
87--strict-paths is specified this will also include subdirectories
88of each named directory.
89
90Author
91------
92Written by Linus Torvalds <torvalds@osdl.org>, YOSHIFUJI Hideaki
93<yoshfuji@linux-ipv6.org> and the git-list <git@vger.kernel.org>
94
95Documentation
96--------------
97Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
98
99GIT
100---
101Part of the gitlink:git[7] suite
102