Hi Ken, L A Walsh,
> But you can change this if you don't like it, as I said in my reply
to your earlier message about this:
I don't know if I like it yet - I am still in the process of
understanding what is going on.
I maintain the Windows build of a large open source project and we also
deliver scripts to setup cygwin on our user's machines. I need to
understand what is going on before I make changes to settings. I am
afraid that using non standard settings in the end will lead to more
confusion than good - especially if people have several cygwin
installations. Also I need to be able to support our users in case they
have issues with this.
The interesting point is that in our CI we do several 100 cygwin
installations (sometimes more than 1000) per month. For 95%..99% the
removal with "rm -rf" from another cygwin installation works well, in
about 1%..5% of the case about 250 symlinks / reparse points remain.
This happens all on the same machines with identical scripts.
With my manual installations of cygwin it is about the same ratio. I had
two cases where removing a cygwin installation from Windows explorer
with "shift+delete" did not work cause of these about 250 symlinks - I
would say I did roughly 100 installations in this time frame.
What I don't understand is why it does work sometimes and sometimes not.
I always use the same scripts to install and remove cygwin on the same
machines and then do pretty much the same thing with this cygwin (build
our open source software) before I delete it.
It is unlikely that the issue is that the target files are open as L A
Welsh suggested because always either all symlinks or none at all
remain. The number is always the same (with recent versions afair 258).
@ L A Walsh: you wrote "1) if you try to delete the file in cygwin"
Why shouldn't I be able to remove symlinks with rm -rf from within a
cygwin? As far as I understand the standard behavior of "rm" is to
remove the symlink and not its target. What I do when I remove a cygwin
installation in our CI is an "rm -rf" from a different cygwin
installation. As I said in most cases this works but rarely it doesn't.
In case it doesn't work the symlinks are quite hard to get rid of.
FSUTIL REPARSEPOINT DELETE is the only method which works I found so
far. Even after a reboot, resetting the ACLs in various ways, ... no
usual method to remove these files works.
I understand that the contents / path of the symlink is as expected, so
I am looking out for other oddities which could explain this behavior.
Best regards,
Michael
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple