.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-CONFIG" "1" "07/27/2007" "Git 1.5.3.rc3.13.g7ab3" "Git Manual"
+.TH "GIT\-CONFIG" "1" "08/01/2007" "Git 1.5.3.rc3.107.g73a7" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "SYNOPSIS"
.sp
.nf
-\fIgit\-config\fR [\-\-system | \-\-global] [type] [\-z|\-\-null] name [value [value_regex]]
-\fIgit\-config\fR [\-\-system | \-\-global] [type] \-\-add name value
-\fIgit\-config\fR [\-\-system | \-\-global] [type] \-\-replace\-all name [value [value_regex]]
-\fIgit\-config\fR [\-\-system | \-\-global] [type] [\-z|\-\-null] \-\-get name [value_regex]
-\fIgit\-config\fR [\-\-system | \-\-global] [type] [\-z|\-\-null] \-\-get\-all name [value_regex]
-\fIgit\-config\fR [\-\-system | \-\-global] [type] [\-z|\-\-null] \-\-get\-regexp name_regex [value_regex]
-\fIgit\-config\fR [\-\-system | \-\-global] \-\-unset name [value_regex]
-\fIgit\-config\fR [\-\-system | \-\-global] \-\-unset\-all name [value_regex]
-\fIgit\-config\fR [\-\-system | \-\-global] \-\-rename\-section old_name new_name
-\fIgit\-config\fR [\-\-system | \-\-global] \-\-remove\-section name
-\fIgit\-config\fR [\-\-system | \-\-global] [\-z|\-\-null] \-l | \-\-list
+\fIgit\-config\fR [<file\-option>] [type] [\-z|\-\-null] name [value [value_regex]]
+\fIgit\-config\fR [<file\-option>] [type] \-\-add name value
+\fIgit\-config\fR [<file\-option>] [type] \-\-replace\-all name [value [value_regex]]
+\fIgit\-config\fR [<file\-option>] [type] [\-z|\-\-null] \-\-get name [value_regex]
+\fIgit\-config\fR [<file\-option>] [type] [\-z|\-\-null] \-\-get\-all name [value_regex]
+\fIgit\-config\fR [<file\-option>] [type] [\-z|\-\-null] \-\-get\-regexp name_regex [value_regex]
+\fIgit\-config\fR [<file\-option>] \-\-unset name [value_regex]
+\fIgit\-config\fR [<file\-option>] \-\-unset\-all name [value_regex]
+\fIgit\-config\fR [<file\-option>] \-\-rename\-section old_name new_name
+\fIgit\-config\fR [<file\-option>] \-\-remove\-section name
+\fIgit\-config\fR [<file\-option>] [\-z|\-\-null] \-l | \-\-list
.fi
.SH "DESCRIPTION"
You can query/set/replace/unset options with this command. The name is actually the section and the key separated by a dot, and the value will be escaped.
The type specifier can be either \fI\-\-int\fR or \fI\-\-bool\fR, which will make \fIgit\-config\fR ensure that the variable(s) are of the given type and convert the value to the canonical form (simple decimal number for int, a "true" or "false" string for bool). If no type specifier is passed, no checks or transformations are performed on the value.
+The file\-option can be one of \fI\-\-system\fR, \fI\-\-global\fR or \fI\-\-file\fR which specify where the values will be read from or written to. The default is to assume the config file of the current repository, .git/config unless defined otherwise with GIT_DIR and GIT_CONFIG (see the section called \(lqFILES\(rq).
+
This command will fail if:
.TP 3
1.
-The .git/config file is invalid,
+The config file is invalid,
.TP
2.
-Can not write to .git/config,
+Can not write to the config file,
.TP
3.
no section was provided,
See also the section called \(lqFILES\(rq.
.TP
+\-f config\-file, \-\-file config\-file
+Use the given config file instead of the one specified by GIT_CONFIG.
+.TP
\-\-remove\-section
Remove the given section from the configuration file.
.TP
\-z, \-\-null
For all options that output values and/or keys, always end values with with the null character (instead of a newline). Use newline instead as a delimiter between key and value. This allows for secure parsing of the output without getting confused e.g. by values that contain line breaks.
.SH "FILES"
-There are three files where git\-config will search for configuration options:
+If not set explicitely with \fI\-\-file\fR, there are three files where git\-config will search for configuration options:
Example\ 1.\ git/config::.sp
.nf
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-DAEMON" "1" "07/19/2007" "Git 1.5.3.rc2.19.gc4fba" "Git Manual"
+.TH "GIT\-DAEMON" "1" "08/01/2007" "Git 1.5.3.rc3.107.g73a7" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
\-\-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 \fI\-\-base\-path=/srv/git\fR on example.com, then if you later try to pull \fIgit://example.com/hello.git\fR, git\-daemon will interpret the path as \fI/srv/git/hello.git\fR.
.TP
+\-\-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.
+.TP
\-\-interpolated\-path=pathtemplate
To support virtual hosting, an interpolated path template can be used to dynamically construct alternate paths. The template supports %H for the target hostname as supplied by the client but converted to all lowercase, %CH for the canonical hostname, %IP for the server's IP address, %P for the port number, and %D for the absolute path of the named repository. After interpolation, the path is validated against the directory whitelist.
.TP