Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElijah Newren <newren@gmail.com>2021-09-27 19:33:43 +0300
committerJunio C Hamano <gitster@pobox.com>2021-09-27 23:38:37 +0300
commit1b5f37334a2603c7134da7accba76276d8d31cf6 (patch)
treec4eb6651858eebdb79be5c6f614f13cca9b09786
parentc42e0b64093306d59372df288f9b4086290623f5 (diff)
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>
-rw-r--r--builtin/am.c3
-rw-r--r--builtin/clone.c3
-rw-r--r--builtin/merge.c3
-rw-r--r--builtin/reset.c3
-rw-r--r--builtin/stash.c3
-rw-r--r--merge-ort.c2
-rw-r--r--reset.c3
-rw-r--r--sequencer.c3
-rwxr-xr-xt/t7112-reset-submodule.sh1
9 files changed, 8 insertions, 16 deletions
diff --git a/builtin/am.c b/builtin/am.c
index 567ecd882b..93beb66197 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -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);
diff --git a/builtin/clone.c b/builtin/clone.c
index 2ff9e9ca74..26599f40f2 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -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;
diff --git a/builtin/merge.c b/builtin/merge.c
index 89c99cf28c..9202587728 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -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;
diff --git a/builtin/reset.c b/builtin/reset.c
index 7f38656f01..5df01cc42e 100644
--- a/builtin/reset.c
+++ b/builtin/reset.c
@@ -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;
diff --git a/builtin/stash.c b/builtin/stash.c
index 88287b890d..d60cdaf32f 100644
--- a/builtin/stash.c
+++ b/builtin/stash.c
@@ -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))
diff --git a/merge-ort.c b/merge-ort.c
index 610c3913b5..48fbd52a77 100644
--- a/merge-ort.c
+++ b/merge-ort.c
@@ -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);
diff --git a/reset.c b/reset.c
index 41b3e2d88d..f40a8ecf66 100644
--- a/reset.c
+++ b/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;
diff --git a/sequencer.c b/sequencer.c
index 695750ef0b..9751e9aa8d 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -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)) {
diff --git a/t/t7112-reset-submodule.sh b/t/t7112-reset-submodule.sh
index 19830d9036..a3e2413bc3 100755
--- a/t/t7112-reset-submodule.sh
+++ b/t/t7112-reset-submodule.sh
@@ -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"