aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/add.c2
-rw-r--r--builtin/checkout.c2
-rw-r--r--builtin/commit.c2
-rw-r--r--read-cache-ll.h2
-rw-r--r--read-cache.c10
5 files changed, 12 insertions, 6 deletions
diff --git a/builtin/add.c b/builtin/add.c
index 32709794b3..eef4959ee3 100644
--- a/builtin/add.c
+++ b/builtin/add.c
@@ -584,7 +584,7 @@ int cmd_add(int argc,
else
exit_status |= add_files_to_cache(repo, prefix,
&pathspec, ps_matched,
- include_sparse, flags);
+ include_sparse, flags, ignored_too);
if (take_worktree_changes && !add_renormalize && !ignore_add_errors &&
report_path_error(ps_matched, &pathspec))
diff --git a/builtin/checkout.c b/builtin/checkout.c
index 261699e2f5..9b664c4bbc 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -899,7 +899,7 @@ static int merge_working_tree(const struct checkout_opts *opts,
*/
add_files_to_cache(the_repository, NULL, NULL, NULL, 0,
- 0);
+ 0, 0);
init_ui_merge_options(&o, the_repository);
o.verbosity = 0;
work = write_in_core_index_as_tree(the_repository);
diff --git a/builtin/commit.c b/builtin/commit.c
index 0243f17d53..1a00642090 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -455,7 +455,7 @@ static const char *prepare_index(const char **argv, const char *prefix,
repo_hold_locked_index(the_repository, &index_lock,
LOCK_DIE_ON_ERROR);
add_files_to_cache(the_repository, also ? prefix : NULL,
- &pathspec, ps_matched, 0, 0);
+ &pathspec, ps_matched, 0, 0, 0 );
if (!all && report_path_error(ps_matched, &pathspec))
exit(128);
diff --git a/read-cache-ll.h b/read-cache-ll.h
index 71b49d9af4..2c8b4b21b1 100644
--- a/read-cache-ll.h
+++ b/read-cache-ll.h
@@ -481,7 +481,7 @@ int cmp_cache_name_compare(const void *a_, const void *b_);
int add_files_to_cache(struct repository *repo, const char *prefix,
const struct pathspec *pathspec, char *ps_matched,
- int include_sparse, int flags);
+ int include_sparse, int flags, int ignored_too );
void overlay_tree_on_index(struct index_state *istate,
const char *tree_name, const char *prefix);
diff --git a/read-cache.c b/read-cache.c
index 990d4ead0d..5349b94e59 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -3878,9 +3878,12 @@ void overlay_tree_on_index(struct index_state *istate,
struct update_callback_data {
struct index_state *index;
+ struct repository *repo;
+ struct pathspec *pathspec;
int include_sparse;
int flags;
int add_errors;
+ int ignored_too;
};
static int fix_unmerged_status(struct diff_filepair *p,
@@ -3922,7 +3925,7 @@ static void update_callback(struct diff_queue_struct *q,
default:
die(_("unexpected diff status %c"), p->status);
case DIFF_STATUS_MODIFIED:
- case DIFF_STATUS_TYPE_CHANGED:
+ case DIFF_STATUS_TYPE_CHANGED: {
if (add_file_to_index(data->index, path, data->flags)) {
if (!(data->flags & ADD_CACHE_IGNORE_ERRORS))
die(_("updating files failed"));
@@ -3943,7 +3946,7 @@ static void update_callback(struct diff_queue_struct *q,
int add_files_to_cache(struct repository *repo, const char *prefix,
const struct pathspec *pathspec, char *ps_matched,
- int include_sparse, int flags)
+ int include_sparse, int flags, int ignored_too )
{
struct odb_transaction *transaction;
struct update_callback_data data;
@@ -3953,6 +3956,9 @@ int add_files_to_cache(struct repository *repo, const char *prefix,
data.index = repo->index;
data.include_sparse = include_sparse;
data.flags = flags;
+ data.repo = repo;
+ data.ignored_too = ignored_too;
+ data.pathspec = (struct pathspec *)pathspec;
repo_init_revisions(repo, &rev, prefix);
setup_revisions(0, NULL, &rev, NULL);