diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2005-11-17 22:44:55 +0100 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-11-19 20:47:29 -0800 |
commit | 1b1e59c5084ac8b0af0aa443bb1713179d400211 (patch) | |
tree | 478bb4e57cd4eb5a898476373e44681a04b66bc8 /config-set.c | |
parent | 10bea152a34b2bf1194ede5e0c9e5595ab2100f3 (diff) | |
download | git-1b1e59c5084ac8b0af0aa443bb1713179d400211.tar.gz git-1b1e59c5084ac8b0af0aa443bb1713179d400211.tar.xz |
Add git-config-set, a simple helper for scripts to set config variables
This is meant for the end user, who cannot be expected to edit
.git/config by hand.
Example:
git-config-set core.filemode true
will set filemode in the section [core] to true,
git-config-set --unset core.filemode
will remove the entry (failing if it is not there), and
git-config-set --unset diff.twohead ^recar
will remove the unique entry whose value matches the regex "^recar"
(failing if there is no unique such entry).
It is just a light wrapper around git_config_set() and
git_config_set_multivar().
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'config-set.c')
-rw-r--r-- | config-set.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/config-set.c b/config-set.c new file mode 100644 index 000000000..1b1547b53 --- /dev/null +++ b/config-set.c @@ -0,0 +1,26 @@ +#include "cache.h" + +static const char git_config_set_usage[] = +"git-config-set name [value [value_regex]] | --unset name [value_regex]"; + +int main(int argc, const char **argv) +{ + setup_git_directory(); + switch (argc) { + case 2: + return git_config_set(argv[1], NULL); + case 3: + if (!strcmp(argv[1], "--unset")) + return git_config_set(argv[2], NULL); + else + return git_config_set(argv[1], argv[2]); + case 4: + if (!strcmp(argv[1], "--unset")) + return git_config_set_multivar(argv[2], NULL, argv[3]); + else + return git_config_set_multivar(argv[1], argv[2], argv[3]); + default: + usage(git_config_set_usage); + } + return 0; +} |