Code

Merge branch 'maint'
[git.git] / Documentation / git-daemon.txt
index 9ddab712031cc2b71ccfc83dd5b6b475b5bfc809..99e47c9c257d7bb1de78729460069b5c4ebc47dd 100644 (file)
@@ -54,6 +54,12 @@ OPTIONS
        'git://example.com/hello.git', `git-daemon` will interpret the path
        as '/srv/git/hello.git'.
 
        'git://example.com/hello.git', `git-daemon` will interpret the path
        as '/srv/git/hello.git'.
 
+--base-path-relaxed::
+       If --base-path is enabled and repo lookup fails, with this option
+       `git-daemon` will attempt to lookup without prefixing the base path.
+       This is useful for switching to --base-path usage, while still
+       allowing the old paths.
+
 --interpolated-path=pathtemplate::
        To support virtual hosting, an interpolated path template can be
        used to dynamically construct alternate paths.  The template
 --interpolated-path=pathtemplate::
        To support virtual hosting, an interpolated path template can be
        used to dynamically construct alternate paths.  The template
@@ -118,7 +124,8 @@ OPTIONS
        Detach from the shell. Implies --syslog.
 
 --pid-file=file::
        Detach from the shell. Implies --syslog.
 
 --pid-file=file::
-       Save the process id in 'file'.
+       Save the process id in 'file'.  Ignored when the daemon
+       is run under `--inetd`.
 
 --user=user, --group=group::
        Change daemon's uid and gid before entering the service loop.
 
 --user=user, --group=group::
        Change daemon's uid and gid before entering the service loop.
@@ -151,6 +158,13 @@ the facility of inet daemon to achieve the same before spawning
 SERVICES
 --------
 
 SERVICES
 --------
 
+These services can be globally enabled/disabled using the
+command line options of this command.  If a finer-grained
+control is desired (e.g. to allow `git-archive` to be run
+against only in a few selected repositories the daemon serves),
+the per-repository configuration file can be used to enable or
+disable them.
+
 upload-pack::
        This serves `git-fetch-pack` and `git-peek-remote`
        clients.  It is enabled by default, but a repository can
 upload-pack::
        This serves `git-fetch-pack` and `git-peek-remote`
        clients.  It is enabled by default, but a repository can
@@ -158,7 +172,19 @@ upload-pack::
        item to `false`.
 
 upload-archive::
        item to `false`.
 
 upload-archive::
-       This serves `git-archive --remote`.
+       This serves `git-archive --remote`.  It is disabled by
+       default, but a repository can enable it by setting
+       `daemon.uploadarchive` configuration item to `true`.
+
+receive-pack::
+       This serves `git-send-pack` clients, allowing anonymous
+       push.  It is disabled by default, as there is _no_
+       authentication in the protocol (in other words, anybody
+       can push anything into the repository, including removal
+       of refs).  This is solely meant for a closed LAN setting
+       where everybody is friendly.  This service can be
+       enabled by `daemon.receivepack` configuration item to
+       `true`.
 
 EXAMPLES
 --------
 
 EXAMPLES
 --------
@@ -222,6 +248,18 @@ a subdirectory for each virtual host IP address supported.
 Repositories can still be accessed by hostname though, assuming
 they correspond to these IP addresses.
 
 Repositories can still be accessed by hostname though, assuming
 they correspond to these IP addresses.
 
+selectively enable/disable services per repository::
+       To enable `git-archive --remote` and disable `git-fetch` against
+       a repository, have the following in the configuration file in the
+       repository (that is the file 'config' next to 'HEAD', 'refs' and
+       'objects').
++
+----------------------------------------------------------------
+       [daemon]
+               uploadpack = false
+               uploadarchive = true
+----------------------------------------------------------------
+
 
 Author
 ------
 
 Author
 ------
@@ -235,4 +273,3 @@ Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
 GIT
 ---
 Part of the gitlink:git[7] suite
 GIT
 ---
 Part of the gitlink:git[7] suite
-