If the leading path of a tracked file gets replaced by a symlink, git
checkout will follow that symlink when removing the file. This bug seems
to be present since 2011. Fix that and add a regression test.
Matheus Tavares (2):
symlinks: update comment on threaded_check_leading_path()
checkout: don't follow symlinks when removing entries
cache.h | 2 +-
entry.c | 2 +-
symlinks.c | 54 ++++++++++++++++-------------------
t/t2021-checkout-overwrite.sh | 12 ++++++++
unpack-trees.c | 2 +-
5 files changed, 39 insertions(+), 33 deletions(-)
--
2.30.1