diff options
| author | Junio C Hamano <gitster@pobox.com> | 2021-10-13 15:15:57 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2021-10-13 15:15:57 -0700 |
| commit | a7c2daa06d6f7d8fd13a1d72f23741acbaeba522 (patch) | |
| tree | b1b0095d267b98188a7ae24ac77934298b665649 /reset.c | |
| parent | 1fdfb774aaaa0ee8acb0a1ec9b601e5a2d2999f1 (diff) | |
| parent | 0e29222e0c2f68118cdd3412515539b74433b732 (diff) | |
| download | git-a7c2daa06d6f7d8fd13a1d72f23741acbaeba522.tar.xz | |
Merge branch 'en/removing-untracked-fixes'
Various fixes in code paths that move untracked files away to make room.
* en/removing-untracked-fixes:
Documentation: call out commands that nuke untracked files/directories
Comment important codepaths regarding nuking untracked files/dirs
unpack-trees: avoid nuking untracked dir in way of locally deleted file
unpack-trees: avoid nuking untracked dir in way of unmerged file
Change unpack_trees' 'reset' flag into an enum
Remove ignored files by default when they are in the way
unpack-trees: make dir an internal-only struct
unpack-trees: introduce preserve_ignored to unpack_trees_options
read-tree, merge-recursive: overwrite ignored files by default
checkout, read-tree: fix leak of unpack_trees_options.dir
t2500: add various tests for nuking untracked files
Diffstat (limited to 'reset.c')
| -rw-r--r-- | reset.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -56,9 +56,10 @@ 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; + 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; + unpack_tree_opts.reset = UNPACK_RESET_PROTECT_UNTRACKED; if (repo_read_index_unmerged(r) < 0) { ret = error(_("could not read index")); |
