Skip to content

Commit

Permalink
Add a config option to ignore errors for git-add
Browse files Browse the repository at this point in the history
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Alex Riesen authored and Junio C Hamano committed May 13, 2008
1 parent 8959743 commit dad25e4
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 1 deletion.
11 changes: 10 additions & 1 deletion builtin-add.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);

Expand Down
21 changes: 21 additions & 0 deletions t/t3700-add.sh
Original file line number Diff line number Diff line change
Expand Up @@ -201,4 +201,25 @@ test_expect_success 'git add --ignore-errors' '

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 &&
test_must_fail git add --verbose . &&
git ls-files foo1 | grep foo1
'
rm -f foo2

test_expect_success 'git add (add.ignore-errors = false)' '
git config add.ignore-errors 0 &&
git reset --hard &&
date >foo1 &&
date >foo2 &&
chmod 0 foo2 &&
test_must_fail git add --verbose . &&
! ( git ls-files foo1 | grep foo1 )
'

test_done

0 comments on commit dad25e4

Please sign in to comment.