rev-parse --branches/--tags/--remotes=pattern
[gitweb.git] / builtin-merge.c
index 56a1bb651f89c05178153906192857d34c8061e3..82e2a0491a0f3f148ff65851d44481d2809f64de 100644 (file)
@@ -52,6 +52,7 @@ static struct strategy **use_strategies;
 static size_t use_strategies_nr, use_strategies_alloc;
 static const char *branch;
 static int verbosity;
+static int allow_rerere_auto;
 
 static struct strategy all_strategy[] = {
        { "recursive",  DEFAULT_TWOHEAD | NO_TRIVIAL },
@@ -170,6 +171,7 @@ static struct option builtin_merge_options[] = {
                "allow fast-forward (default)"),
        OPT_BOOLEAN(0, "ff-only", &fast_forward_only,
                "abort if fast-forward is not possible"),
+       OPT_RERERE_AUTOUPDATE(&allow_rerere_auto),
        OPT_CALLBACK('s', "strategy", &use_strategies, "strategy",
                "merge strategy to use", option_parse_strategy),
        OPT_CALLBACK('m', "message", &merge_msg, "message",
@@ -790,17 +792,12 @@ static int suggest_conflicts(void)
                }
        }
        fclose(fp);
-       rerere();
+       rerere(allow_rerere_auto);
        printf("Automatic merge failed; "
                        "fix conflicts and then commit the result.\n");
        return 1;
 }
 
-static const char deprecation_warning[] =
-       "'git merge <msg> HEAD <commit>' is deprecated. Please update\n"
-       "your script to use 'git merge -m <msg> <commit>' instead.\n"
-       "In future versions of git, this syntax will be removed.";
-
 static struct commit *is_old_style_invocation(int argc, const char **argv)
 {
        struct commit *second_token = NULL;
@@ -814,7 +811,6 @@ static struct commit *is_old_style_invocation(int argc, const char **argv)
                        die("'%s' is not a commit", argv[1]);
                if (hashcmp(second_token->object.sha1, head))
                        return NULL;
-               warning(deprecation_warning);
        }
        return second_token;
 }