-
Notifications
You must be signed in to change notification settings - Fork 823
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rename syscall broken for non-empty directories #163
Comments
More information: Creating the destination directory that should have been creating during mv works fine:
And I can copy the |
We have a fix inbound. Not sure when it will show up on insider builds, but it's on the way. Old:
New:
|
Additional, looks to be the same as #44. |
Thanks so much! This is the coolest thing I've seen in a while; Microsoft has really changed the last couple years. |
This one looks to be fixed (just tested build 14332). Please feel free to close (or I will in about a week if no other comments). Glad you like the project. We're having a blast doing this and love the feedback / questions / issues. |
I'm downloading that build now! So excited. |
@russalex I don't know if it's the channel to say this... but, great work guys! and most of all thanks having this fixed and pushed so quickly! |
@russalex great work indeed! Totally unexpected turnaround time on this. Thanks so much. |
Bug
I'm pretty sure
rename (2)
is broken when moving non-empty directoriesReproduction
mkdir -p test-case/a/b touch test-case/a/b/awesomesauce.txt mv test-case/a/b test-case/ # mv: cannot move ‘test-case/a/b’ to ‘test-case/b’: Permission denied
How I encountered this
When running
bundle install
with gems containing native extensions, the build scripts eventually move the completed.so
output into a directory. This fails mysteriously. It's consistent across every ruby gem with native extensions.Here's the build directory:
... and the destination directory:
In the build directory, the
./.gem.20160412-28335-1lbx7tv/byebug
stuff was deleted as a part of cleaning up (or something), so I ran:Then I had a reasonable looking build directory, like it would have been right before the rename failed:
Now without Ruby, let me try to do the move step:
For reference, here's the Ruby call that fails: http://rxr.whitequark.org/mri/source/file.c#2586
although as you can see it happens with
mv
, so it's not really Ruby's fault.Here's an strace of my attempt with
mv
: https://gist.github.com/anonymous/485b87aa511b62542881302a47ab4f13This is the error that I don't think should be an error:
https://gist.github.com/anonymous/485b87aa511b62542881302a47ab4f13#file-debug-win-L97
The text was updated successfully, but these errors were encountered: