зеркало из https://github.com/microsoft/git.git
add: allow configurations to be overriden by command line
Don't call git_config after parsing the command line options, otherwise the config settings will override any settings made by the command line. This can be seen by setting add.ignore_errors and then specifying --no-ignore-errors when using git-add. Signed-off-by: Stephen Boyd <bebarino@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
90dce51584
Коммит
ed342fdea0
|
@ -247,6 +247,8 @@ int cmd_add(int argc, const char **argv, const char *prefix)
|
|||
int add_new_files;
|
||||
int require_pathspec;
|
||||
|
||||
git_config(add_config, NULL);
|
||||
|
||||
argc = parse_options(argc, argv, builtin_add_options,
|
||||
builtin_add_usage, 0);
|
||||
if (patch_interactive)
|
||||
|
@ -254,8 +256,6 @@ int cmd_add(int argc, const char **argv, const char *prefix)
|
|||
if (add_interactive)
|
||||
exit(interactive_add(argc, argv, prefix));
|
||||
|
||||
git_config(add_config, NULL);
|
||||
|
||||
if (addremove && take_worktree_changes)
|
||||
die("-A and -u are mutually incompatible");
|
||||
if (addremove && !argc) {
|
||||
|
|
|
@ -221,6 +221,19 @@ test_expect_success 'git add (add.ignore-errors = false)' '
|
|||
test_must_fail git add --verbose . &&
|
||||
! ( git ls-files foo1 | grep foo1 )
|
||||
'
|
||||
rm -f foo2
|
||||
|
||||
test_expect_success '--no-ignore-errors overrides config' '
|
||||
git config add.ignore-errors 1 &&
|
||||
git reset --hard &&
|
||||
date >foo1 &&
|
||||
date >foo2 &&
|
||||
chmod 0 foo2 &&
|
||||
test_must_fail git add --verbose --no-ignore-errors . &&
|
||||
! ( git ls-files foo1 | grep foo1 ) &&
|
||||
git config add.ignore-errors 0
|
||||
'
|
||||
rm -f foo2
|
||||
|
||||
test_expect_success 'git add '\''fo\[ou\]bar'\'' ignores foobar' '
|
||||
git reset --hard &&
|
||||
|
|
Загрузка…
Ссылка в новой задаче