[BUG] git-stash confused when directory replaced with symlink
- From
- Vovan-VE <vovan-ve@yandex.ru>
- Date
- Feb 10, 2014, 10:54 UTC
- Message-ID
- <op.xa2a9r00tcop7l@dev-server>
Hello!
Looks like a bug. `git stash` fails with fatal error, when whole subdirectory is replaced with a symlink.
I'm using latest Git/1.8.5.4 under Ubuntu 12.04.4 x64.
Steps to reproduce initial state:
$ git init
$ mkdir dir
$ touch dir/file.txt
$ git add dir/file.txt
$ git commit -m 'Initial commit' $ rm -r dir
$ ln -s -T /something/does/not/matter dir
$ git status
# Changes not staged for commit:
#
# deleted: dir/file.txt
#
# Untracked files:
#
# dirNow the bug itself:
$ git stash
error: 'dir/file.txt' is beyond a symbolic link
fatal: Unable to process path dir/file.txt
Cannot save the current worktree stateTarget of the symlink doesn't matter, as far as I understand. Doing `git add --all` or `git rm --cached dir/file.txt` doesn't change the result - still fatal.
Git tries to delete file "dir/file.txt", which does not exist. It confused by existing "dir".
However `git checkout .` works fine: symlink deleted, directory restored.
-- Vovan-VE