summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 90dce51)
raw | patch | inline | side by side (parent: 90dce51)
author | Stephen Boyd <bebarino@gmail.com> | |
Thu, 18 Jun 2009 09:17:54 +0000 (02:17 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Thu, 18 Jun 2009 19:20:36 +0000 (12:20 -0700) |
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>
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>
builtin-add.c | patch | blob | history | |
t/t3700-add.sh | patch | blob | history |
diff --git a/builtin-add.c b/builtin-add.c
index fc3f96eaefff91e4e85adb92162716939f0ecd72..13db4a6455e17a0f960e53ddcbc6e2db898f55d0 100644 (file)
--- a/builtin-add.c
+++ b/builtin-add.c
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)
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) {
diff --git a/t/t3700-add.sh b/t/t3700-add.sh
index 2ac93a346d016c65614f2bf6142049e7bdc39bd1..060a6ecabe4cf208dc88e4e4b1d42464c5f4d894 100755 (executable)
--- a/t/t3700-add.sh
+++ b/t/t3700-add.sh
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 &&