diff options
author | Junio C Hamano <gitster@pobox.com> | 2022-02-16 17:32:33 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-02-16 17:32:33 -0800 |
commit | f1fc6ca2d27889be2f7829e15054bc8067ae9bc6 (patch) | |
tree | 3fb51df8e90ddd23c17c8a61a25df915ca6e7d73 /config.txt | |
parent | 0170485c457d7e861874a761fb76ee8de1a79d89 (diff) | |
download | git-htmldocs-f1fc6ca2d27889be2f7829e15054bc8067ae9bc6.tar.gz |
Autogenerated HTML docs for v2.35.1-193-g45fe28
Diffstat (limited to 'config.txt')
-rw-r--r-- | config.txt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/config.txt b/config.txt index b168f02dc..bf3e51292 100644 --- a/config.txt +++ b/config.txt @@ -159,6 +159,33 @@ all branches that begin with `foo/`. This is useful if your branches are organized hierarchically and you would like to apply a configuration to all the branches in that hierarchy. +`hasconfig:remote.*.url:`:: + The data that follows this keyword is taken to + be a pattern with standard globbing wildcards and two + additional ones, `**/` and `/**`, that can match multiple + components. The first time this keyword is seen, the rest of + the config files will be scanned for remote URLs (without + applying any values). If there exists at least one remote URL + that matches this pattern, the include condition is met. ++ +Files included by this option (directly or indirectly) are not allowed +to contain remote URLs. ++ +Note that unlike other includeIf conditions, resolving this condition +relies on information that is not yet known at the point of reading the +condition. A typical use case is this option being present as a +system-level or global-level config, and the remote URL being in a +local-level config; hence the need to scan ahead when resolving this +condition. In order to avoid the chicken-and-egg problem in which +potentially-included files can affect whether such files are potentially +included, Git breaks the cycle by prohibiting these files from affecting +the resolution of these conditions (thus, prohibiting them from +declaring remote URLs). ++ +As for the naming of this keyword, it is for forwards compatibiliy with +a naming scheme that supports more variable-based include conditions, +but currently Git only supports the exact keyword described above. + A few more notes on matching via `gitdir` and `gitdir/i`: * Symlinks in `$GIT_DIR` are not resolved before matching. @@ -226,6 +253,14 @@ Example ; currently checked out [includeIf "onbranch:foo-branch"] path = foo.inc + +; include only if a remote with the given URL exists (note +; that such a URL may be provided later in a file or in a +; file read after this file is read, as seen in this example) +[includeIf "hasconfig:remote.*.url:https://example.com/**"] + path = foo.inc +[remote "origin"] + url = https://example.com/git ---- Values |