diff options
Diffstat (limited to 'third_party/git/builtin/pull.c')
-rw-r--r-- | third_party/git/builtin/pull.c | 48 |
1 files changed, 26 insertions, 22 deletions
diff --git a/third_party/git/builtin/pull.c b/third_party/git/builtin/pull.c index 3e624d1e0085..f1eaf6e6edb1 100644 --- a/third_party/git/builtin/pull.c +++ b/third_party/git/builtin/pull.c @@ -15,7 +15,6 @@ #include "sha1-array.h" #include "remote.h" #include "dir.h" -#include "rebase.h" #include "refs.h" #include "refspec.h" #include "revision.h" @@ -27,6 +26,15 @@ #include "commit-reach.h" #include "sequencer.h" +enum rebase_type { + REBASE_INVALID = -1, + REBASE_FALSE = 0, + REBASE_TRUE, + REBASE_PRESERVE, + REBASE_MERGES, + REBASE_INTERACTIVE +}; + /** * Parses the value of --rebase. If value is a false value, returns * REBASE_FALSE. If value is a true value, returns REBASE_TRUE. If value is @@ -37,9 +45,22 @@ static enum rebase_type parse_config_rebase(const char *key, const char *value, int fatal) { - enum rebase_type v = rebase_parse_value(value); - if (v != REBASE_INVALID) - return v; + int v = git_parse_maybe_bool(value); + + if (!v) + return REBASE_FALSE; + else if (v > 0) + return REBASE_TRUE; + else if (!strcmp(value, "preserve") || !strcmp(value, "p")) + return REBASE_PRESERVE; + else if (!strcmp(value, "merges") || !strcmp(value, "m")) + return REBASE_MERGES; + else if (!strcmp(value, "interactive") || !strcmp(value, "i")) + return REBASE_INTERACTIVE; + /* + * Please update _git_config() in git-completion.bash when you + * add new rebase modes. + */ if (fatal) die(_("Invalid value for %s: %s"), key, value); @@ -86,7 +107,6 @@ static char *opt_ff; static char *opt_verify_signatures; static int opt_autostash = -1; static int config_autostash; -static int check_trust_level = 1; static struct argv_array opt_strategies = ARGV_ARRAY_INIT; static struct argv_array opt_strategy_opts = ARGV_ARRAY_INIT; static char *opt_gpg_sign; @@ -109,7 +129,6 @@ static char *opt_refmap; static char *opt_ipv4; static char *opt_ipv6; static int opt_show_forced_updates = -1; -static char *set_upstream; static struct option pull_options[] = { /* Shared options */ @@ -224,9 +243,6 @@ static struct option pull_options[] = { PARSE_OPT_NOARG), OPT_BOOL(0, "show-forced-updates", &opt_show_forced_updates, N_("check for forced-updates on all updated branches")), - OPT_PASSTHRU(0, "set-upstream", &set_upstream, NULL, - N_("set upstream for git pull/fetch"), - PARSE_OPT_NOARG), OPT_END() }; @@ -335,8 +351,6 @@ static enum rebase_type config_get_rebase(void) */ static int git_pull_config(const char *var, const char *value, void *cb) { - int status; - if (!strcmp(var, "rebase.autostash")) { config_autostash = git_config_bool(var, value); return 0; @@ -344,14 +358,7 @@ static int git_pull_config(const char *var, const char *value, void *cb) recurse_submodules = git_config_bool(var, value) ? RECURSE_SUBMODULES_ON : RECURSE_SUBMODULES_OFF; return 0; - } else if (!strcmp(var, "gpg.mintrustlevel")) { - check_trust_level = 0; } - - status = git_gpg_config(var, value, cb); - if (status) - return status; - return git_default_config(var, value, cb); } @@ -549,8 +556,6 @@ static int run_fetch(const char *repo, const char **refspecs) argv_array_push(&args, "--show-forced-updates"); else if (opt_show_forced_updates == 0) argv_array_push(&args, "--no-show-forced-updates"); - if (set_upstream) - argv_array_push(&args, set_upstream); if (repo) { argv_array_push(&args, repo); @@ -576,8 +581,7 @@ static int pull_into_void(const struct object_id *merge_head, die(_("unable to access commit %s"), oid_to_hex(merge_head)); - verify_merge_signature(commit, opt_verbosity, - check_trust_level); + verify_merge_signature(commit, opt_verbosity); } /* |