Merge branch 'jk/doc-config-include' into maint

Clarify documentation for include.path and includeIf.<condition>.path
configuration variables.

* jk/doc-config-include:
  docs/config: consistify include.path examples
  docs/config: avoid the term "expand" for includes
  docs/config: give a relative includeIf example
  docs/config: clarify include/includeIf relationship
This commit is contained in:
Junio C Hamano 2017-06-04 10:21:02 +09:00
Родитель f305016f42 ce933ebd5a
Коммит aa5439d623
1 изменённых файлов: 22 добавлений и 11 удалений

Просмотреть файл

@ -79,14 +79,20 @@ escape sequences) are invalid.
Includes Includes
~~~~~~~~ ~~~~~~~~
You can include a config file from another by setting the special The `include` and `includeIf` sections allow you to include config
`include.path` variable to the name of the file to be included. The directives from another source. These sections behave identically to
variable takes a pathname as its value, and is subject to tilde each other with the exception that `includeIf` sections may be ignored
expansion. `include.path` can be given multiple times. if their condition does not evaluate to true; see "Conditional includes"
below.
The included file is expanded immediately, as if its contents had been You can include a config file from another by setting the special
found at the location of the include directive. If the value of the `include.path` (or `includeIf.*.path`) variable to the name of the file
`include.path` variable is a relative path, the path is considered to to be included. The variable takes a pathname as its value, and is
subject to tilde expansion. These variables can be given multiple times.
The contents of the included file are inserted immediately, as if they
had been found at the location of the include directive. If the value of the
variable is a relative path, the path is considered to
be relative to the configuration file in which the include directive be relative to the configuration file in which the include directive
was found. See below for examples. was found. See below for examples.
@ -95,8 +101,7 @@ Conditional includes
You can include a config file from another conditionally by setting a You can include a config file from another conditionally by setting a
`includeIf.<condition>.path` variable to the name of the file to be `includeIf.<condition>.path` variable to the name of the file to be
included. The variable's value is treated the same way as included.
`include.path`. `includeIf.<condition>.path` can be given multiple times.
The condition starts with a keyword followed by a colon and some data The condition starts with a keyword followed by a colon and some data
whose format and meaning depends on the keyword. Supported keywords whose format and meaning depends on the keyword. Supported keywords
@ -167,8 +172,8 @@ Example
[include] [include]
path = /path/to/foo.inc ; include by absolute path path = /path/to/foo.inc ; include by absolute path
path = foo ; expand "foo" relative to the current file path = foo.inc ; find "foo.inc" relative to the current file
path = ~/foo ; expand "foo" in your `$HOME` directory path = ~/foo.inc ; find "foo.inc" in your `$HOME` directory
; include if $GIT_DIR is /path/to/foo/.git ; include if $GIT_DIR is /path/to/foo/.git
[includeIf "gitdir:/path/to/foo/.git"] [includeIf "gitdir:/path/to/foo/.git"]
@ -182,6 +187,12 @@ Example
[includeIf "gitdir:~/to/group/"] [includeIf "gitdir:~/to/group/"]
path = /path/to/foo.inc path = /path/to/foo.inc
; relative paths are always relative to the including
; file (if the condition is true); their location is not
; affected by the condition
[includeIf "gitdir:/path/to/group/"]
path = foo.inc
Values Values
~~~~~~ ~~~~~~