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
parent
ab5d01a29e
commit
c48d73bdec
|
@ -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…
Reference in New Issue