Browse Source

git-pull.c: introduce git_pull_config()

git-pull makes a seperate call to git_config_get_bool() to read the value
of "rebase.autostash". This can be reduced as a call to git_config() is
already there in the code.

Introduce a callback function git_pull_config() to read "rebase.autostash"
along with other variables.

Helped-by: Junio C Hamano <gitster@pobox.com>
Helped-by: Paul Tan <pyokagan@gmail.com>
Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Mehul Jain <mehul.jain2029@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Mehul Jain 9 years ago committed by Junio C Hamano
parent
commit
c48d73bdec
  1. 18
      builtin/pull.c

18
builtin/pull.c

@ -86,6 +86,7 @@ static char *opt_commit;
static char *opt_edit; static char *opt_edit;
static char *opt_ff; static char *opt_ff;
static char *opt_verify_signatures; static char *opt_verify_signatures;
static int config_autostash;
static struct argv_array opt_strategies = ARGV_ARRAY_INIT; static struct argv_array opt_strategies = ARGV_ARRAY_INIT;
static struct argv_array opt_strategy_opts = ARGV_ARRAY_INIT; static struct argv_array opt_strategy_opts = ARGV_ARRAY_INIT;
static char *opt_gpg_sign; static char *opt_gpg_sign;
@ -305,6 +306,18 @@ static enum rebase_type config_get_rebase(void)
return REBASE_FALSE; return REBASE_FALSE;
} }


/**
* Read config variables.
*/
static int git_pull_config(const char *var, const char *value, void *cb)
{
if (!strcmp(var, "rebase.autostash")) {
config_autostash = git_config_bool(var, value);
return 0;
}
return git_default_config(var, value, cb);
}

/** /**
* Returns 1 if there are unstaged changes, 0 otherwise. * Returns 1 if there are unstaged changes, 0 otherwise.
*/ */
@ -823,7 +836,7 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
if (opt_rebase < 0) if (opt_rebase < 0)
opt_rebase = config_get_rebase(); opt_rebase = config_get_rebase();


git_config(git_default_config, NULL); git_config(git_pull_config, NULL);


if (read_cache_unmerged()) if (read_cache_unmerged())
die_resolve_conflict("Pull"); die_resolve_conflict("Pull");
@ -835,12 +848,11 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
hashclr(orig_head); hashclr(orig_head);


if (opt_rebase) { if (opt_rebase) {
int autostash = 0; int autostash = config_autostash;


if (is_null_sha1(orig_head) && !is_cache_unborn()) if (is_null_sha1(orig_head) && !is_cache_unborn())
die(_("Updating an unborn branch with changes added to the index.")); die(_("Updating an unborn branch with changes added to the index."));


git_config_get_bool("rebase.autostash", &autostash);
if (!autostash) if (!autostash)
die_on_unclean_work_tree(prefix); die_on_unclean_work_tree(prefix);



Loading…
Cancel
Save