read-cache: update add_files_to_cache take param ignored_too

The ignored_too parameter is added to the function
add_files_to_cache for usage of explicit updating the index for the updated
submodule using the explicit patchspec to the submodule.

Signed-off-by: Claus Schneider (Eficode) <claus.schneider@eficode.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Claus Schneider(Eficode) 2026-01-14 07:47:55 +00:00 committed by Junio C Hamano
parent 8745eae506
commit bddef7096a
5 changed files with 12 additions and 6 deletions

View File

@ -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))

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);