aboutsummaryrefslogtreecommitdiff
path: root/builtin-rerere.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-01-18 18:13:01 -0800
committerJunio C Hamano <gitster@pobox.com>2010-01-18 18:13:01 -0800
commit4a88fb7ffc32bdfdfab2605430514d92aba25b8a (patch)
tree77d37de207313b760eb08c502be1ea98a18351e9 /builtin-rerere.c
parent26b9f5cc99a35d4f678c2f565e48237fc9515444 (diff)
parentcb6020bb017405cc3e7f1faea6f30d4fd1b62e70 (diff)
downloadgit-4a88fb7ffc32bdfdfab2605430514d92aba25b8a.tar.gz
git-4a88fb7ffc32bdfdfab2605430514d92aba25b8a.tar.xz
Merge branch 'jc/rerere'
* jc/rerere: Teach --[no-]rerere-autoupdate option to merge, revert and friends
Diffstat (limited to 'builtin-rerere.c')
-rw-r--r--builtin-rerere.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/builtin-rerere.c b/builtin-rerere.c
index 2be9ffb77..502813889 100644
--- a/builtin-rerere.c
+++ b/builtin-rerere.c
@@ -103,15 +103,24 @@ static int diff_two(const char *file1, const char *label1,
int cmd_rerere(int argc, const char **argv, const char *prefix)
{
struct string_list merge_rr = { NULL, 0, 0, 1 };
- int i, fd;
-
+ int i, fd, flags = 0;
+
+ if (2 < argc) {
+ if (!strcmp(argv[1], "-h"))
+ usage(git_rerere_usage);
+ if (!strcmp(argv[1], "--rerere-autoupdate"))
+ flags = RERERE_AUTOUPDATE;
+ else if (!strcmp(argv[1], "--no-rerere-autoupdate"))
+ flags = RERERE_NOAUTOUPDATE;
+ if (flags) {
+ argc--;
+ argv++;
+ }
+ }
if (argc < 2)
- return rerere();
-
- if (!strcmp(argv[1], "-h"))
- usage(git_rerere_usage);
+ return rerere(flags);
- fd = setup_rerere(&merge_rr);
+ fd = setup_rerere(&merge_rr, flags);
if (fd < 0)
return 0;