aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/git-var.txt
diff options
context:
space:
mode:
authorbrian m. carlson <bk2204@github.com>2023-06-27 16:19:02 +0000
committerJunio C Hamano <gitster@pobox.com>2023-06-27 11:31:06 -0700
commited773a18c6e92ae4f4e016f4529d6bdfbbbd56d8 (patch)
tree81cab253c0b46d628c5a69751edeb7f616bcf980 /Documentation/git-var.txt
parent576a37fccbf2a46d98a6dd367dbb3d1636e62f57 (diff)
downloadgit-ed773a18c6e92ae4f4e016f4529d6bdfbbbd56d8.tar.gz
var: add config file locations
Much like with attributes files, sometimes programs would like to know the location of configuration files at the global or system levels. However, it isn't always clear where these may live, especially for the system file, which may have been hard-coded at compile time or computed dynamically based on the runtime prefix. Since other parties cannot intuitively know how Git was compiled and where it looks for these files, help them by providing variables that can be queried. Because we have multiple paths for global config values, print them in order from highest to lowest priority, and be sure to split on newlines so that "git var -l" produces two entries for the global value. However, be careful not to split all values on newlines, since our editor values could well contain such characters, and we don't want to split them in such a case. Note in the documentation that some values may contain multiple paths and that callers should be prepared for that fact. This helps people write code that will continue to work in the event we allow multiple items elsewhere in the future. Signed-off-by: brian m. carlson <bk2204@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-var.txt')
-rw-r--r--Documentation/git-var.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/Documentation/git-var.txt b/Documentation/git-var.txt
index dfbe5cb52b..c38fb3968b 100644
--- a/Documentation/git-var.txt
+++ b/Documentation/git-var.txt
@@ -80,6 +80,20 @@ GIT_ATTR_SYSTEM::
GIT_ATTR_GLOBAL::
The path to the global (per-user) linkgit:gitattributes[5] file.
+GIT_CONFIG_SYSTEM::
+ The path to the system configuration file, if one is enabled.
+
+GIT_CONFIG_GLOBAL::
+ The path to the global (per-user) configuration files, if any.
+
+Most path values contain only one value. However, some can contain multiple
+values, which are separated by newlines, and are listed in order from highest to
+lowest priority. Callers should be prepared for any such path value to contain
+multiple items.
+
+Note that paths are printed even if they do not exist, but not if they are
+disabled by other environment variables.
+
SEE ALSO
--------
linkgit:git-commit-tree[1]