git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] git-daemon(1): assorted improvements.

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 29, 2007, 10:33 UTC
Message-ID
<7v3ay2r5p4.fsf_-_@gitster.siamese.dyndns.org>
In-Reply-To
<zm0a1vw9.fsf@cante.net>

Jari Aalto noticed a handful places in git-daemon documentation that need to be improved.

 * --inetd makes --pid-file to be ignored, in addition to --user
   and --group
 * receive-pack service was not described at all.  We should, if
   only to warn about the security implications of it.
 * There was no example of per repository configuration.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 * I'm planning to commit this one.
 Documentation/git-daemon.txt |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt
index f902161..efdcdad 100644
--- a/Documentation/git-daemon.txt
+++ b/Documentation/git-daemon.txt
@@ -124,7 +124,8 @@ OPTIONS
 	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.
@@ -157,6 +158,13 @@ the facility of inet daemon to achieve the same before spawning
 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
@@ -164,7 +172,19 @@ upload-pack::
 	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
 --------
@@ -229,6 +249,18 @@ Repositories can still be accessed by hostname though, assuming
 they correspond to these IP addresses.
 
 
+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
 ------
 Written by Linus Torvalds <torvalds@osdl.org>, YOSHIFUJI Hideaki
-- 
1.5.3.rc7
Previous: Junio C Hamano
Message 5 of 5 in “Explain in --pid-file that using --inetd implies it automatically”
  1. Explain in --pid-file that using --inetd implies it automaticallyJari Aalto, Aug 29, 2007
  2. Junio C HamanoAug 29, 2007
  3. Jari AaltoAug 29, 2007
  4. Junio C HamanoAug 29, 2007
  5. git-daemon(1): assorted improvements.Junio C Hamano, Aug 29, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.