diff options
Diffstat (limited to 'builtin/var.c')
| -rw-r--r-- | builtin/var.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/builtin/var.c b/builtin/var.c index d6f9f495c9..79f7bdf55f 100644 --- a/builtin/var.c +++ b/builtin/var.c @@ -4,6 +4,7 @@ * Copyright (C) Eric Biederman, 2005 */ #include "builtin.h" +#include "attr.h" #include "config.h" #include "editor.h" #include "ident.h" @@ -51,6 +52,26 @@ static char *shell_path(int ident_flag UNUSED) return xstrdup(SHELL_PATH); } +static char *git_attr_val_system(int ident_flag UNUSED) +{ + if (git_attr_system_is_enabled()) { + char *file = xstrdup(git_attr_system_file()); + normalize_path_copy(file, file); + return file; + } + return NULL; +} + +static char *git_attr_val_global(int ident_flag UNUSED) +{ + char *file = xstrdup(git_attr_global_file()); + if (file) { + normalize_path_copy(file, file); + return file; + } + return NULL; +} + struct git_var { const char *name; char *(*read)(int); @@ -85,6 +106,14 @@ static struct git_var git_vars[] = { .read = shell_path, }, { + .name = "GIT_ATTR_SYSTEM", + .read = git_attr_val_system, + }, + { + .name = "GIT_ATTR_GLOBAL", + .read = git_attr_val_global, + }, + { .name = "", .read = NULL, }, |
