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:
|
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).
I ran into an issue that was very frustrating to track down.
The
vendordirectory is a submodule, so it has a.gitfile (not a directory):After running
glide up, this is replaced with an empty directory with no execute permissions:This bogus directory causes
git statusto 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 rungit statusautomatically to show some info in the prompt :)I looked at the code a bit and I believe the culprit is this call:
glide/repo/installer.go
Line 369 in b510141
Indeed, on my system
/tmpis 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).