Merge branch 'sb/maint-1.6.0-add-config-fix' into maint
authorJunio C Hamano <gitster@pobox.com>
Mon, 22 Jun 2009 07:44:09 +0000 (00:44 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 22 Jun 2009 07:44:09 +0000 (00:44 -0700)
* sb/maint-1.6.0-add-config-fix:
  add: allow configurations to be overriden by command line

1  2 
builtin-add.c
t/t3700-add.sh

diff --cc builtin-add.c
index ad889aac5bd174bf96a87b78eeb243aea89a1626,13db4a6455e17a0f960e53ddcbc6e2db898f55d0..d6ad57bfc2841959a2017d0723c1f9d57a920fac
@@@ -257,11 -256,9 +259,9 @@@ int cmd_add(int argc, const char **argv
        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) {
 +      if ((addremove || take_worktree_changes) && !argc) {
                static const char *here[2] = { ".", NULL };
                argc = 1;
                argv = here;
diff --cc t/t3700-add.sh
index 050de42ef4148a730c30520ccaad5e9871e536bd,060a6ecabe4cf208dc88e4e4b1d42464c5f4d894..32595fa30c3171495929ceecda3272b963e51bed
@@@ -221,8 -221,21 +221,21 @@@ test_expect_success POSIXPERM 'git add 
        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' '
 +test_expect_success BSLASHPSPEC "git add 'fo\\[ou\\]bar' ignores foobar" '
        git reset --hard &&
        touch fo\[ou\]bar foobar &&
        git add '\''fo\[ou\]bar'\'' &&