]> git.ipfire.org Git - thirdparty/git.git/commit
stash: avoid feeding directories to update-index
authorElijah Newren <newren@gmail.com>
Fri, 10 Sep 2021 10:29:55 +0000 (10:29 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 10 Sep 2021 22:46:34 +0000 (15:46 -0700)
commit3d40e3723b1bc86d22136ff01b0787809a3267a4
tree23fd8b711d79e7598525e2f5ce8f9fc49b6c629e
parent4dbf7f30b1d6469474d6a7e6759c9f84d305b95c
stash: avoid feeding directories to update-index

When a file is removed from the cache, but there is a file of the same
name present in the working directory, we would normally treat that file
in the working directory as untracked.  However, in the case of stash,
doing that would prevent a simple 'git stash push', because the untracked
file would be in the way of restoring the deleted file.

git stash, however, blindly assumes that whatever is in the working
directory for a deleted file is wanted and passes that path along to
update-index.  That causes problems when the working directory contains
a directory with the same name as the deleted file.  Add some code for
this special case that will avoid passing directory names to
update-index.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/stash.c
t/t3903-stash.sh