[PATCH] Add a config option to ignore errors for git-add
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
builtin-add.c | 11 ++++++++++-
t/t3700-add.sh | 12 ++++++++++++
2 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/builtin-add.c b/builtin-add.c
index 522519e..73235ed 100644
--- a/builtin-add.c
+++ b/builtin-add.c
@@ -206,6 +206,15 @@ static struct option builtin_add_options[] = {
OPT_END(),
};
+static int add_config(const char *var, const char *value)
+{
+ if (!strcasecmp(var, "add.ignore-errors")) {
+ ignore_add_errors = git_config_bool(var, value);
+ return 0;
+ }
+ return git_default_config(var, value);
+}
+
int cmd_add(int argc, const char **argv, const char *prefix)
{
int exit_status = 0;
@@ -220,7 +229,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
if (add_interactive)
exit(interactive_add(argc, argv, prefix));
- git_config(git_default_config);
+ git_config(add_config);
newfd = hold_locked_index(&lock_file, 1);
diff --git a/t/t3700-add.sh b/t/t3700-add.sh
index ca3e33d..08f1641 100755
--- a/t/t3700-add.sh
+++ b/t/t3700-add.sh
@@ -188,4 +188,16 @@ test_expect_success 'git add --ignore-errors' '
git ls-files |grep foo1
'
+rm -f foo2
+
+test_expect_success 'git add (add.ignore-errors)' '
+ git config add.ignore-errors 1 &&
+ git reset --hard &&
+ date >foo1 &&
+ date >foo2 &&
+ chmod 0 foo2 &&
+ git add --verbose .
+ git ls-files |grep foo1
+'
+
test_done
--
1.5.5.1.184.g5bee