contrib/examples/git-clone.sh: avoid "test <cond> -a/-o <cond>"
[gitweb.git] / Documentation / git-daemon.txt
index 77da564134f92e692e078888d7f87bd6710e821f..a69b3616ec3bdc9686114f4d0b7a851c0ce93339 100644 (file)
@@ -16,8 +16,10 @@ SYNOPSIS
             [--reuseaddr] [--detach] [--pid-file=<file>]
             [--enable=<service>] [--disable=<service>]
             [--allow-override=<service>] [--forbid-override=<service>]
-            [--access-hook=<path>]
-            [--inetd | [--listen=<host_or_ipaddr>] [--port=<n>] [--user=<user> [--group=<group>]]
+            [--access-hook=<path>] [--[no-]informative-errors]
+            [--inetd |
+             [--listen=<host_or_ipaddr>] [--port=<n>]
+             [--user=<user> [--group=<group>]]]
             [<directory>...]
 
 DESCRIPTION
@@ -147,6 +149,13 @@ OPTIONS
 Giving these options is an error when used with `--inetd`; use
 the facility of inet daemon to achieve the same before spawning
 'git daemon' if needed.
++
+Like many programs that switch user id, the daemon does not reset
+environment variables such as `$HOME` when it runs git programs,
+e.g. `upload-pack` and `receive-pack`. When using this option, you
+may also want to set and export `HOME` to point at the home
+directory of `<user>` before starting the daemon, and make sure any
+Git configuration files in that directory are readable by `<user>`.
 
 --enable=<service>::
 --disable=<service>::
@@ -160,10 +169,9 @@ the facility of inet daemon to achieve the same before spawning
 --forbid-override=<service>::
        Allow/forbid overriding the site-wide default with per
        repository configuration.  By default, all the services
-       are overridable.
+       may be overridden.
 
---informative-errors::
---no-informative-errors::
+--[no-]informative-errors::
        When informative errors are turned on, git-daemon will report
        more verbose errors to the client, differentiating conditions
        like "no such repository" from "repository not exported". This
@@ -176,7 +184,7 @@ the facility of inet daemon to achieve the same before spawning
        Every time a client connects, first run an external command
        specified by the <path> with service name (e.g. "upload-pack"),
        path to the repository, hostname (%H), canonical hostname
-       (%CH), ip address (%IP), and tcp port (%P) as its command line
+       (%CH), IP address (%IP), and TCP port (%P) as its command-line
        arguments. The external command can decide to decline the
        service by exiting with a non-zero status (or to allow it by
        exiting with a zero status).  It can also look at the $REMOTE_ADDR
@@ -196,7 +204,7 @@ SERVICES
 --------
 
 These services can be globally enabled/disabled using the
-command line options of this command.  If a finer-grained
+command-line options of this command.  If 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