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>
This commit is contained in:
parent
ab5d01a29e
commit
c48d73bdec
@ -86,6 +86,7 @@ static char *opt_commit;
|
||||
static char *opt_edit;
|
||||
static char *opt_ff;
|
||||
static char *opt_verify_signatures;
|
||||
static int config_autostash;
|
||||
static struct argv_array opt_strategies = ARGV_ARRAY_INIT;
|
||||
static struct argv_array opt_strategy_opts = ARGV_ARRAY_INIT;
|
||||
static char *opt_gpg_sign;
|
||||
@ -305,6 +306,18 @@ static enum rebase_type config_get_rebase(void)
|
||||
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.
|
||||
*/
|
||||
@ -823,7 +836,7 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
|
||||
if (opt_rebase < 0)
|
||||
opt_rebase = config_get_rebase();
|
||||
|
||||
git_config(git_default_config, NULL);
|
||||
git_config(git_pull_config, NULL);
|
||||
|
||||
if (read_cache_unmerged())
|
||||
die_resolve_conflict("Pull");
|
||||
@ -835,12 +848,11 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
|
||||
hashclr(orig_head);
|
||||
|
||||
if (opt_rebase) {
|
||||
int autostash = 0;
|
||||
int autostash = config_autostash;
|
||||
|
||||
if (is_null_sha1(orig_head) && !is_cache_unborn())
|
||||
die(_("Updating an unborn branch with changes added to the index."));
|
||||
|
||||
git_config_get_bool("rebase.autostash", &autostash);
|
||||
if (!autostash)
|
||||
die_on_unclean_work_tree(prefix);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user