summaryrefslogtreecommitdiff
path: root/config.c
diff options
context:
space:
mode:
authorJohn Cai <johncai86@gmail.com>2023-10-13 17:39:30 (GMT)
committerJunio C Hamano <gitster@pobox.com>2023-10-13 18:43:29 (GMT)
commit9f9c40cf34c29d4ad700d9869435d159056fa6fb (patch)
tree8e3b138390a996f68831accaeebe2fb9488f2382 /config.c
parent2386535511d1181afd4e892e2a866ffe5e1d7d21 (diff)
downloadgit-9f9c40cf34c29d4ad700d9869435d159056fa6fb.zip
git-9f9c40cf34c29d4ad700d9869435d159056fa6fb.tar.gz
git-9f9c40cf34c29d4ad700d9869435d159056fa6fb.tar.bz2
attr: add attr.tree for setting the treeish to read attributes from
44451a2 (attr: teach "--attr-source=<tree>" global option to "git", 2023-05-06) provided the ability to pass in a treeish as the attr source. In the context of serving Git repositories as bare repos like we do at GitLab however, it would be easier to point --attr-source to HEAD for all commands by setting it once. Add a new config attr.tree that allows this. Signed-off-by: John Cai <johncai86@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'config.c')
-rw-r--r--config.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/config.c b/config.c
index 3846a37..fb6a2db 100644
--- a/config.c
+++ b/config.c
@@ -18,6 +18,7 @@
#include "repository.h"
#include "lockfile.h"
#include "mailmap.h"
+#include "attr.h"
#include "exec-cmd.h"
#include "strbuf.h"
#include "quote.h"
@@ -1904,6 +1905,18 @@ static int git_default_mailmap_config(const char *var, const char *value)
return 0;
}
+static int git_default_attr_config(const char *var, const char *value)
+{
+ if (!strcmp(var, "attr.tree"))
+ return git_config_string(&git_attr_tree, var, value);
+
+ /*
+ * Add other attribute related config variables here and to
+ * Documentation/config/attr.txt.
+ */
+ return 0;
+}
+
int git_default_config(const char *var, const char *value,
const struct config_context *ctx, void *cb)
{
@@ -1927,6 +1940,9 @@ int git_default_config(const char *var, const char *value,
if (starts_with(var, "mailmap."))
return git_default_mailmap_config(var, value);
+ if (starts_with(var, "attr."))
+ return git_default_attr_config(var, value);
+
if (starts_with(var, "advice.") || starts_with(var, "color.advice"))
return git_default_advice_config(var, value);