From dde493c6e99f44ad7cae528056fd1fa6e1c49cf6 Mon Sep 17 00:00:00 2001 From: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Date: Fri, 26 Apr 2024 18:32:54 +0800 Subject: [PATCH] cmd/*-sync: avoid clobbering existing user installations If a user already has an existing version installed, let's avoid deleting it. --- Library/Homebrew/cmd/nodenv-sync.rb | 2 ++ Library/Homebrew/cmd/pyenv-sync.rb | 2 ++ Library/Homebrew/cmd/rbenv-sync.rb | 2 ++ 3 files changed, 6 insertions(+) diff --git a/Library/Homebrew/cmd/nodenv-sync.rb b/Library/Homebrew/cmd/nodenv-sync.rb index f57050e06f..5ae54f19ad 100644 --- a/Library/Homebrew/cmd/nodenv-sync.rb +++ b/Library/Homebrew/cmd/nodenv-sync.rb @@ -58,6 +58,8 @@ module Homebrew (0..minor_version).each do |minor| (0..patch_version).each do |patch| link_path = nodenv_versions/"#{major_version}.#{minor}.#{patch}" + # Don't clobber existing user installations. + next if link_path.exist? && !link_path.symlink? FileUtils.rm_f link_path FileUtils.ln_sf path, link_path diff --git a/Library/Homebrew/cmd/pyenv-sync.rb b/Library/Homebrew/cmd/pyenv-sync.rb index c9a7c18e24..2ae2b8ca09 100644 --- a/Library/Homebrew/cmd/pyenv-sync.rb +++ b/Library/Homebrew/cmd/pyenv-sync.rb @@ -56,6 +56,8 @@ module Homebrew (0..patch_version).each do |patch| link_path = pyenv_versions/"#{major_version}.#{minor_version}.#{patch}" + # Don't clobber existing user installations. + next if link_path.exist? && !link_path.symlink? FileUtils.rm_f link_path FileUtils.ln_sf path, link_path diff --git a/Library/Homebrew/cmd/rbenv-sync.rb b/Library/Homebrew/cmd/rbenv-sync.rb index bf2bbf9338..4a9bf777d1 100644 --- a/Library/Homebrew/cmd/rbenv-sync.rb +++ b/Library/Homebrew/cmd/rbenv-sync.rb @@ -57,6 +57,8 @@ module Homebrew (0..patch_version).each do |patch| link_path = rbenv_versions/"#{major_version}.#{minor_version}.#{patch}" + # Don't clobber existing user installations. + next if link_path.exist? && !link_path.symlink? FileUtils.rm_f link_path FileUtils.ln_sf path, link_path