diff options
Diffstat (limited to 'third_party/git/builtin/var.c')
-rw-r--r-- | third_party/git/builtin/var.c | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/third_party/git/builtin/var.c b/third_party/git/builtin/var.c deleted file mode 100644 index 6c6f46b4aeaf..000000000000 --- a/third_party/git/builtin/var.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * GIT - The information manager from hell - * - * Copyright (C) Eric Biederman, 2005 - */ -#include "builtin.h" -#include "config.h" - -static const char var_usage[] = "git var (-l | <variable>)"; - -static const char *editor(int flag) -{ - const char *pgm = git_editor(); - - if (!pgm && flag & IDENT_STRICT) - die("Terminal is dumb, but EDITOR unset"); - - return pgm; -} - -static const char *pager(int flag) -{ - const char *pgm = git_pager(1); - - if (!pgm) - pgm = "cat"; - return pgm; -} - -struct git_var { - const char *name; - const char *(*read)(int); -}; -static struct git_var git_vars[] = { - { "GIT_COMMITTER_IDENT", git_committer_info }, - { "GIT_AUTHOR_IDENT", git_author_info }, - { "GIT_EDITOR", editor }, - { "GIT_PAGER", pager }, - { "", NULL }, -}; - -static void list_vars(void) -{ - struct git_var *ptr; - const char *val; - - for (ptr = git_vars; ptr->read; ptr++) - if ((val = ptr->read(0))) - printf("%s=%s\n", ptr->name, val); -} - -static const char *read_var(const char *var) -{ - struct git_var *ptr; - const char *val; - val = NULL; - for (ptr = git_vars; ptr->read; ptr++) { - if (strcmp(var, ptr->name) == 0) { - val = ptr->read(IDENT_STRICT); - break; - } - } - return val; -} - -static int show_config(const char *var, const char *value, void *cb) -{ - if (value) - printf("%s=%s\n", var, value); - else - printf("%s\n", var); - return git_default_config(var, value, cb); -} - -int cmd_var(int argc, const char **argv, const char *prefix) -{ - const char *val = NULL; - if (argc != 2) - usage(var_usage); - - if (strcmp(argv[1], "-l") == 0) { - git_config(show_config, NULL); - list_vars(); - return 0; - } - git_config(git_default_config, NULL); - val = read_var(argv[1]); - if (!val) - usage(var_usage); - - printf("%s\n", val); - - return 0; -} |