.nf
git\-daemon [\-\-verbose] [\-\-syslog] [\-\-inetd | \-\-port=n] [\-\-export\-all]
- [\-\-timeout=n] [\-\-init\-timeout=n] [\-\-strict\-paths] [directory...]
+ [\-\-timeout=n] [\-\-init\-timeout=n] [\-\-strict\-paths]
+ [\-\-base\-path=path] [directory...]
.fi
.SH "DESCRIPTION"
Match paths exactly (i\&.e\&. don't allow "/foo/repo" when the real path is "/foo/repo\&.git" or "/foo/repo/\&.git") and don't do user\-relative paths\&. git\-daemon will refuse to start when this option is enabled and no whitelist is specified\&.
.TP
+\-\-base\-path
+Remap all the path requests as relative to the given path\&. This is sort of "GIT root" \- if you run git\-daemon with \-\-base\-path=/srv/git on example\&.com, then if you later try to pull git://example\&.com/hello\&.git, git\-daemon will interpret the path as /srv/git/hello\&.git\&. Home directories (the ~login notation) access is disabled\&.
+
+.TP
\-\-export\-all
Allow pulling from all directories that look like GIT repositories (have the objects and refs subdirectories), even if they do not have the git\-daemon\-export\-ok file\&.
When git\-fetch is used with <rbranch>:<lbranch> refspec, it refuses to update the local branch <lbranch> unless the remote branch <rbranch> it fetches is a descendant of <lbranch>\&. This option overrides that check\&.
.TP
+\-\-no\-tags
+By default, git\-fetch fetches tags that point at objects that are downloaded from the remote repository and stores them locally\&. This option disables this automatic tag following\&.
+
+.TP
\-t, \-\-tags
-By default, the git core utilities will not fetch and store tags under the same name as the remote repository; ask it to do so using \-\-tags\&. Using this option will bound the list of objects pulled to the remote tags\&. Commits in branches beyond the tags will be ignored\&.
+Most of the tags are fetched automatically as branch heads are downloaded, but tags that do not point at objects reachable from the branch heads that are being tracked will not be fetched by this mechanism\&. This flag lets all tags and their associated objects be downloaded\&.
.TP
\-u, \-\-update\-head\-ok
When git\-fetch is used with <rbranch>:<lbranch> refspec, it refuses to update the local branch <lbranch> unless the remote branch <rbranch> it fetches is a descendant of <lbranch>\&. This option overrides that check\&.
.TP
+\-\-no\-tags
+By default, git\-fetch fetches tags that point at objects that are downloaded from the remote repository and stores them locally\&. This option disables this automatic tag following\&.
+
+.TP
\-t, \-\-tags
-By default, the git core utilities will not fetch and store tags under the same name as the remote repository; ask it to do so using \-\-tags\&. Using this option will bound the list of objects pulled to the remote tags\&. Commits in branches beyond the tags will be ignored\&.
+Most of the tags are fetched automatically as branch heads are downloaded, but tags that do not point at objects reachable from the branch heads that are being tracked will not be fetched by this mechanism\&. This flag lets all tags and their associated objects be downloaded\&.
.TP
\-u, \-\-update\-head\-ok