-
-
Notifications
You must be signed in to change notification settings - Fork 632
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
add -r for removing older dir #656
base: master
Are you sure you want to change the base?
Conversation
for issue #643 |
@@ -82,7 +82,7 @@ function __sdkman_link_candidate_version { | |||
|
|||
# Change the 'current' symlink for the candidate, hence affecting all shells. | |||
if [[ -h "${SDKMAN_CANDIDATES_DIR}/${candidate}/current" || -d "${SDKMAN_CANDIDATES_DIR}/${candidate}/current" ]]; then | |||
rm -f "${SDKMAN_CANDIDATES_DIR}/${candidate}/current" | |||
rm -rf "${SDKMAN_CANDIDATES_DIR}/${candidate}/current" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-r
does not change anything here, because current
is a symlink.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My terminal is MSYS2 on the windows 7, and creating a directory instead of symlink, so '-r' is needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, but that's a bug very specific to Windows, and forcefully removing a directory that msys has created doesn't solve anything. In fact, it would thus also delete a previously installed candidate! That is an unwanted side effect.
What we really want is msys to handle symlinks in the same way that all other Unix platforms do. Is there perhaps some kind of flag or setting we could use here for cygwin/msys?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MSYS2 will creating really directory after executing 'ln -s xx xx', you can see this issue, so as your saying, it might specific deal with thing for MSYS2 on windows
I would suggest to add a check if current is a symlink or a directory and execute then rm -f or rm -rf |
Hi, I'm very pleasure using this tool, and I'm executing 'sdk upgrade', system prompts the new version of gradle, but when finish installing new version, it can't remove older version, and I found problem about removing, so I add '-r' to resolving this bug. Tks!