aboutsummaryrefslogtreecommitdiff
path: root/builtin-repo-config.c
diff options
context:
space:
mode:
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>2006-12-16 15:14:14 +0100
committerJunio C Hamano <junkio@cox.net>2006-12-16 13:28:20 -0800
commit0667fcfb6271e9e1ea032a0e3a7d74c9d6a5fa8a (patch)
tree56b2353219b7d37819c93714618caaa344635904 /builtin-repo-config.c
parentb1bfcae438adb485bb66e2f59396373809e346e6 (diff)
downloadgit-0667fcfb6271e9e1ea032a0e3a7d74c9d6a5fa8a.tar.gz
git-0667fcfb6271e9e1ea032a0e3a7d74c9d6a5fa8a.tar.xz
add a function to rename sections in the config
Given a config like this: # A config [very.interesting.section] not The command $ git repo-config --rename-section very.interesting.section bla.1 will lead to this config: # A config [bla "1"] not Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'builtin-repo-config.c')
-rw-r--r--builtin-repo-config.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/builtin-repo-config.c b/builtin-repo-config.c
index 64fbdb7b2..a38099a63 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 | --add | --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]] | --rename-section old_name new_name | --list";
static char *key;
static regex_t *key_regexp;
@@ -148,6 +148,18 @@ int cmd_repo_config(int argc, const char **argv, const char *prefix)
} else {
die("$HOME not set");
}
+ } else if (!strcmp(argv[1], "--rename-section")) {
+ int ret;
+ if (argc != 4)
+ usage(git_config_set_usage);
+ ret = git_config_rename_section(argv[2], argv[3]);
+ if (ret < 0)
+ return ret;
+ if (ret == 0) {
+ fprintf(stderr, "No such section!\n");
+ return 1;
+ }
+ return 0;
} else
break;
argc--;