Remove ignored files by default when they are in the way
Change several commands to remove ignored files by default when they are in the way. Since some commands (checkout, merge) take a --no-overwrite-ignore option to allow the user to configure this, and it may make sense to add that option to more commands (and in the case of merge, actually plumb that configuration option through to more of the backends than just the fast-forwarding special case), add little comments about where such flags would be used. Incidentally, this fixes a test failure in t7112. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c42e0b6409
commit
1b5f37334a
@ -1920,8 +1920,7 @@ static int fast_forward_to(struct tree *head, struct tree *remote, int reset)
|
||||
opts.merge = 1;
|
||||
opts.reset = reset;
|
||||
if (!reset)
|
||||
/* FIXME: Default should be to remove ignored files */
|
||||
opts.preserve_ignored = 1;
|
||||
opts.preserve_ignored = 0; /* FIXME: !overwrite_ignore */
|
||||
opts.fn = twoway_merge;
|
||||
init_tree_desc(&t[0], head->buffer, head->size);
|
||||
init_tree_desc(&t[1], remote->buffer, remote->size);
|
||||
|
@ -803,8 +803,7 @@ static int checkout(int submodule_progress)
|
||||
opts.update = 1;
|
||||
opts.merge = 1;
|
||||
opts.clone = 1;
|
||||
/* FIXME: Default should be to remove ignored files */
|
||||
opts.preserve_ignored = 1;
|
||||
opts.preserve_ignored = 0;
|
||||
opts.fn = oneway_merge;
|
||||
opts.verbose_update = (option_verbosity >= 0);
|
||||
opts.src_index = &the_index;
|
||||
|
@ -681,8 +681,7 @@ static int read_tree_trivial(struct object_id *common, struct object_id *head,
|
||||
opts.verbose_update = 1;
|
||||
opts.trivial_merges_only = 1;
|
||||
opts.merge = 1;
|
||||
/* FIXME: Default should be to remove ignored files */
|
||||
opts.preserve_ignored = 1;
|
||||
opts.preserve_ignored = 0; /* FIXME: !overwrite_ignore */
|
||||
trees[nr_trees] = parse_tree_indirect(common);
|
||||
if (!trees[nr_trees++])
|
||||
return -1;
|
||||
|
@ -67,8 +67,7 @@ static int reset_index(const char *ref, const struct object_id *oid, int reset_t
|
||||
case KEEP:
|
||||
case MERGE:
|
||||
opts.update = 1;
|
||||
/* FIXME: Default should be to remove ignored files */
|
||||
opts.preserve_ignored = 1;
|
||||
opts.preserve_ignored = 0; /* FIXME: !overwrite_ignore */
|
||||
break;
|
||||
case HARD:
|
||||
opts.update = 1;
|
||||
|
@ -259,8 +259,7 @@ static int reset_tree(struct object_id *i_tree, int update, int reset)
|
||||
opts.reset = reset;
|
||||
opts.update = update;
|
||||
if (update && !reset)
|
||||
/* FIXME: Default should be to remove ignored files */
|
||||
opts.preserve_ignored = 1;
|
||||
opts.preserve_ignored = 0; /* FIXME: !overwrite_ignore */
|
||||
opts.fn = oneway_merge;
|
||||
|
||||
if (unpack_trees(nr_trees, t, &opts))
|
||||
|
@ -4045,7 +4045,7 @@ static int checkout(struct merge_options *opt,
|
||||
unpack_opts.quiet = 0; /* FIXME: sequencer might want quiet? */
|
||||
unpack_opts.verbose_update = (opt->verbosity > 2);
|
||||
unpack_opts.fn = twoway_merge;
|
||||
unpack_opts.preserve_ignored = 0; /* FIXME: !opts->overwrite_ignore*/
|
||||
unpack_opts.preserve_ignored = 0; /* FIXME: !opts->overwrite_ignore */
|
||||
parse_tree(prev);
|
||||
init_tree_desc(&trees[0], prev->buffer, prev->size);
|
||||
parse_tree(next);
|
||||
|
3
reset.c
3
reset.c
@ -56,8 +56,7 @@ int reset_head(struct repository *r, struct object_id *oid, const char *action,
|
||||
unpack_tree_opts.fn = reset_hard ? oneway_merge : twoway_merge;
|
||||
unpack_tree_opts.update = 1;
|
||||
unpack_tree_opts.merge = 1;
|
||||
/* FIXME: Default should be to remove ignored files */
|
||||
unpack_tree_opts.preserve_ignored = 1;
|
||||
unpack_tree_opts.preserve_ignored = 0; /* FIXME: !overwrite_ignore */
|
||||
init_checkout_metadata(&unpack_tree_opts.meta, switch_to_branch, oid, NULL);
|
||||
if (!detach_head)
|
||||
unpack_tree_opts.reset = 1;
|
||||
|
@ -3690,8 +3690,7 @@ static int do_reset(struct repository *r,
|
||||
unpack_tree_opts.fn = oneway_merge;
|
||||
unpack_tree_opts.merge = 1;
|
||||
unpack_tree_opts.update = 1;
|
||||
/* FIXME: Default should be to remove ignored files */
|
||||
unpack_tree_opts.preserve_ignored = 1;
|
||||
unpack_tree_opts.preserve_ignored = 0; /* FIXME: !overwrite_ignore */
|
||||
init_checkout_metadata(&unpack_tree_opts.meta, name, &oid, NULL);
|
||||
|
||||
if (repo_read_index_unmerged(r)) {
|
||||
|
@ -6,7 +6,6 @@ test_description='reset can handle submodules'
|
||||
. "$TEST_DIRECTORY"/lib-submodule-update.sh
|
||||
|
||||
KNOWN_FAILURE_DIRECTORY_SUBMODULE_CONFLICTS=1
|
||||
KNOWN_FAILURE_SUBMODULE_OVERWRITE_IGNORED_UNTRACKED=1
|
||||
|
||||
test_submodule_switch_recursing_with_args "reset --keep"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user