X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=builtin-rerere.c;h=34f9acee910406c7ba0bf9eed76267a0cf8f46c2;hb=b659b49bb0ee8995ddc4730e1796866baccc39be;hp=2be9ffb77b38ae687537f3599c9d11e3fbc026a9;hpb=e2d2e383d87dcbcd296ca9f21f3c8b7ef853c928;p=git.git diff --git a/builtin-rerere.c b/builtin-rerere.c index 2be9ffb77..34f9acee9 100644 --- a/builtin-rerere.c +++ b/builtin-rerere.c @@ -103,15 +103,29 @@ 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(); + return rerere(flags); - if (!strcmp(argv[1], "-h")) - usage(git_rerere_usage); + if (!strcmp(argv[1], "forget")) { + const char **pathspec = get_pathspec(prefix, argv + 2); + return rerere_forget(pathspec); + } - fd = setup_rerere(&merge_rr); + fd = setup_rerere(&merge_rr, flags); if (fd < 0) return 0;