-
Notifications
You must be signed in to change notification settings - Fork 536
Closed
Description
I ran into an issue that was very frustrating to track down.
The vendor
directory is a submodule, so it has a .git
file (not a directory):
# cat vendor/.git
gitdir: ../.git/modules/vendor
After running glide up
, this is replaced with an empty directory with no execute permissions:
# ls -la vendor/.git
ls: cannot access 'vendor/.git/..': Permission denied
ls: cannot access 'vendor/.git/.': Permission denied
total 0
d????????? ? ? ? ? ? .
d????????? ? ? ? ? ? ..
This bogus directory causes git status
to fork-bomb my machine (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750687). The icing on the cake is that I have my shell run git status
automatically to show some info in the prompt :)
I looked at the code a bit and I believe the culprit is this call:
Line 369 in b510141
err = fixcle(ivg, vpg, terr) |
Indeed, on my system /tmp
is a separate filesystem, so the rename wouldn't work. This code should be fixed so it copies the file (if it's just a file).
Metadata
Metadata
Assignees
Labels
No labels