From 49e2cf9f929101fa3bf109b326a6eec98697e925 Mon Sep 17 00:00:00 2001 From: Harry Marr Date: Wed, 4 May 2022 11:22:32 -0400 Subject: [PATCH] Extract `supports_partial_clone_sparse_checkout?` --- Library/Homebrew/download_strategy.rb | 4 +--- Library/Homebrew/utils/git.rb | 6 ++++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index 37607e0ed9..b062ca362f 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -884,9 +884,7 @@ class GitDownloadStrategy < VCSDownloadStrategy def partial_clone_sparse_checkout? return false if @only_paths.blank? - # There is some support for partial clones prior to 2.20, but we avoid using it - # due to performance issues - Version.create(Utils::Git.version) >= Version.create("2.20.0") + Utils::Git.supports_partial_clone_sparse_checkout? end sig { returns(T::Array[String]) } diff --git a/Library/Homebrew/utils/git.rb b/Library/Homebrew/utils/git.rb index c81435a0b1..eb492c2832 100644 --- a/Library/Homebrew/utils/git.rb +++ b/Library/Homebrew/utils/git.rb @@ -141,5 +141,11 @@ module Utils raise ErrorDuringExecution.new(cmd, status: $CHILD_STATUS, output: [[:stdout, output]]) end end + + def supports_partial_clone_sparse_checkout? + # There is some support for partial clones prior to 2.20, but we avoid using it + # due to performance issues + Version.create(version) >= Version.create("2.20.0") + end end end