path: root/Documentation
diff options
authorJunio C Hamano <>2006-02-05 06:27:29 (GMT)
committerJunio C Hamano <>2006-02-06 00:51:01 (GMT)
commit603968d22b19d1b98ff355cc32575a4d9845c151 (patch)
treef1901a61dd0af200460f8c4ecfb7db9cfcecc868 /Documentation
parent1955fabf4194f3629e028778d0081bb2aa16c06c (diff)
daemon: extend user-relative path notation.
Earlier, we made --base-path to automatically forbid user-relative paths, which was probably a mistake. This introduces --user-path (or --user-path=path) option to control the use of user-relative paths independently. The latter form of the option can be used to restrict accesses to a part of each user's home directory, similar to "public_html" some webservers supports. If we're invoked with --user-path=FOO option, then a URL of the form git://~USER/PATH/... resolves to the path HOME/FOO/PATH/..., where HOME is USER's home directory. [jc: This is much reworked by me so bugs are mine, but the original patch was done by Mark Wooding.] Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation')
1 files changed, 12 insertions, 3 deletions
diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt
index a20e053..2cc6075 100644
--- a/Documentation/git-daemon.txt
+++ b/Documentation/git-daemon.txt
@@ -10,7 +10,8 @@ SYNOPSIS
'git-daemon' [--verbose] [--syslog] [--inetd | --port=n] [--export-all]
[--timeout=n] [--init-timeout=n] [--strict-paths]
- [--base-path=path] [directory...]
+ [--base-path=path] [--user-path | --user-path=path]
+ [directory...]
@@ -42,8 +43,7 @@ OPTIONS
This is sort of "GIT root" - if you run git-daemon with
'--base-path=/srv/git' on, then if you later try to pull
'git://', `git-daemon` will interpret the path
- as '/srv/git/hello.git'. Home directories (the '~login' notation)
- access is disabled.
+ as '/srv/git/hello.git'.
Allow pulling from all directories that look like GIT repositories
@@ -70,6 +70,15 @@ OPTIONS
Log to syslog instead of stderr. Note that this option does not imply
--verbose, thus by default only error conditions will be logged.
+--user-path, --user-path=path::
+ Allow ~user notation to be used in requests. When
+ specified with no parameter, requests to
+ git://host/~alice/foo is taken as a request to access
+ 'foo' repository in the home directory of user `alice`.
+ If `--user-path=path` is specified, the same request is
+ taken as a request to access `path/foo` repository in
+ the home directory of user `alice`.
Log details about the incoming connections and requested files.