diff options
author | Elijah Newren <newren@gmail.com> | 2021-09-27 16:33:46 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-09-27 20:38:37 (GMT) |
commit | 56d06fe4aa9089bccb4ff247fc3224fc7431c72d (patch) | |
tree | 328fc04618ea1dafbe88feb3e05bfd6375ad8aba /unpack-trees.c | |
parent | 1fdd51aa13c27403c37b57ead32ef79b81d8128b (diff) | |
download | git-56d06fe4aa9089bccb4ff247fc3224fc7431c72d.zip git-56d06fe4aa9089bccb4ff247fc3224fc7431c72d.tar.gz git-56d06fe4aa9089bccb4ff247fc3224fc7431c72d.tar.bz2 |
unpack-trees: avoid nuking untracked dir in way of locally deleted file
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'unpack-trees.c')
-rw-r--r-- | unpack-trees.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/unpack-trees.c b/unpack-trees.c index 821f532..48ca93a 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -2409,7 +2409,10 @@ static int deleted_entry(const struct cache_entry *ce, if (verify_absent(ce, ERROR_WOULD_LOSE_UNTRACKED_REMOVED, o)) return -1; return 0; + } else if (verify_absent_if_directory(ce, ERROR_WOULD_LOSE_UNTRACKED_REMOVED, o)) { + return -1; } + if (!(old->ce_flags & CE_CONFLICTED) && verify_uptodate(old, o)) return -1; add_entry(o, ce, CE_REMOVE, 0); |