Browse Source

apply: run setup_git_directory_gently() sooner

As v1.7.2~16^2 (2010-07-14) explains, without this change,
“git --paginate apply” can ignore the repository-local
“[core] pager” configuration.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Nguyễn Thái Ngọc Duy 14 years ago committed by Junio C Hamano
parent
commit
d1ea896290
  1. 6
      builtin/apply.c
  2. 2
      git.c
  3. 3
      t/t7006-pager.sh

6
builtin/apply.c

@ -3607,11 +3607,11 @@ static int option_parse_directory(const struct option *opt, @@ -3607,11 +3607,11 @@ static int option_parse_directory(const struct option *opt,
return 0;
}

int cmd_apply(int argc, const char **argv, const char *unused_prefix)
int cmd_apply(int argc, const char **argv, const char *prefix_)
{
int i;
int errs = 0;
int is_not_gitdir;
int is_not_gitdir = !startup_info->have_repository;
int binary;
int force_apply = 0;

@ -3684,7 +3684,7 @@ int cmd_apply(int argc, const char **argv, const char *unused_prefix) @@ -3684,7 +3684,7 @@ int cmd_apply(int argc, const char **argv, const char *unused_prefix)
OPT_END()
};

prefix = setup_git_directory_gently(&is_not_gitdir);
prefix = prefix_;
prefix_length = prefix ? strlen(prefix) : 0;
git_config(git_apply_config, NULL);
if (apply_default_whitespace)

2
git.c

@ -301,7 +301,7 @@ static void handle_internal_command(int argc, const char **argv) @@ -301,7 +301,7 @@ static void handle_internal_command(int argc, const char **argv)
{ "add", cmd_add, RUN_SETUP | NEED_WORK_TREE },
{ "stage", cmd_add, RUN_SETUP | NEED_WORK_TREE },
{ "annotate", cmd_annotate, RUN_SETUP },
{ "apply", cmd_apply },
{ "apply", cmd_apply, RUN_SETUP_GENTLY },
{ "archive", cmd_archive },
{ "bisect--helper", cmd_bisect__helper, RUN_SETUP | NEED_WORK_TREE },
{ "blame", cmd_blame, RUN_SETUP },

3
t/t7006-pager.sh

@ -391,4 +391,7 @@ test_no_local_config_subdir expect_success 'git shortlog' @@ -391,4 +391,7 @@ test_no_local_config_subdir expect_success 'git shortlog'
test_default_pager expect_success 'git -p shortlog'
test_core_pager_subdir expect_success 'git -p shortlog'

test_core_pager_subdir expect_success test_must_fail \
'git -p apply </dev/null'

test_done

Loading…
Cancel
Save