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