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
removeDirectoryRecursive: permission denied (Access is denied.) Windows #59
Comments
Thanks for your investigation on the original issue (got here from stack)! To summarize (correct me if I'm wrong): https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa363915(v=vs.85).aspx |
Yes, I think that clearing read-only flag when it is possible it is right behavior. I think if I need to delete file or directory recursive I don`t really care read-only file or not. Thanks. |
*nix and Windows behave differently in that on *nix the permission to delete is determined by the write-bit on the parent directory, whereas on Windows the permission to delete is determined by the attributes of the file itself. I don't believe there's a way to make this "consistent" without doing a lot of ugly hacks. I agree that the failure to delete read-only files is kind of annoying and probably not what the user expects. However, I'm somewhat hesitant on changing the behavior of a core function such as I could add something like |
I agree a bit with your hesitation; I'd propose to add mention of this issue then for Would you be open to changing I suppose that at least any build tool removing directories it created (cabal-install, Shake, ...) would need the same behavior, so I think this would be useful in a common package rather than inside Stack. Since you mention the Python standard library, I found its shutil.rmtree function: they provide a callback for handling errors on a single deletion, which could be used to change permissions and allow to resume operations. |
I've added |
Please read this issue. Thanks.
The text was updated successfully, but these errors were encountered: