diff options
author | Brian Gernhardt <benji@silverinsanity.com> | 2006-12-15 07:39:04 -0500 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-12-15 22:31:01 -0800 |
commit | 89c4afe0d011b71d0bbcd9ad43f367f6a0dc3d83 (patch) | |
tree | 59515c79cb19dd8d8f6816188748eed1bde571ef /builtin-repo-config.c | |
parent | 9013192449ed1148da4805e33a2644fca92dd1c7 (diff) | |
download | git-89c4afe0d011b71d0bbcd9ad43f367f6a0dc3d83.tar.gz git-89c4afe0d011b71d0bbcd9ad43f367f6a0dc3d83.tar.xz |
Add --add option to git-repo-config
For multivars, the "git-repo-config name value ^$" is useful but
nonintuitive and troublesome to do repeatedly (since the value is not
at the end of the command line). This commit simply adds an --add
option that adds a new value to a multivar. Particularly useful for
tracking a new branch on a remote:
git-repo-config --add remote.origin.fetch +next:origin/next
Includes documentation and test.
Signed-off-by: Brian Gernhardt <benji@silverinsanity.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'builtin-repo-config.c')
-rw-r--r-- | builtin-repo-config.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/builtin-repo-config.c b/builtin-repo-config.c index 7b6e5725a..64fbdb7b2 100644 --- a/builtin-repo-config.c +++ b/builtin-repo-config.c @@ -3,7 +3,7 @@ #include <regex.h> static const char git_config_set_usage[] = -"git-repo-config [ --global ] [ --bool | --int ] [--get | --get-all | --get-regexp | --replace-all | --unset | --unset-all] name [value [value_regex]] | --list"; +"git-repo-config [ --global ] [ --bool | --int ] [--get | --get-all | --get-regexp | --replace-all | --add | --unset | --unset-all] name [value [value_regex]] | --list"; static char *key; static regex_t *key_regexp; @@ -190,7 +190,9 @@ int cmd_repo_config(int argc, const char **argv, const char *prefix) use_key_regexp = 1; do_all = 1; return get_value(argv[2], argv[3]); - } else if (!strcmp(argv[1], "--replace-all")) + } else if (!strcmp(argv[1], "--add")) + return git_config_set_multivar(argv[2], argv[3], "^$", 0); + else if (!strcmp(argv[1], "--replace-all")) return git_config_set_multivar(argv[2], argv[3], NULL, 1); else |