mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
33 lines
931 B
Ruby
33 lines
931 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Utils
|
|
def self.clear_svn_version_cache
|
|
remove_instance_variable(:@svn_available) if defined?(@svn_available)
|
|
remove_instance_variable(:@svn_version) if defined?(@svn_version)
|
|
end
|
|
|
|
def self.svn_available?
|
|
return @svn_available if defined?(@svn_available)
|
|
|
|
@svn_available = quiet_system HOMEBREW_SHIMS_PATH/"scm/svn", "--version"
|
|
end
|
|
|
|
def self.svn_version
|
|
return unless svn_available?
|
|
return @svn_version if defined?(@svn_version)
|
|
|
|
@svn_version = Utils.popen_read(
|
|
HOMEBREW_SHIMS_PATH/"scm/svn", "--version"
|
|
).chomp[/svn, version (\d+(?:\.\d+)*)/, 1]
|
|
end
|
|
|
|
def self.svn_remote_exists?(url)
|
|
return true unless svn_available?
|
|
|
|
# OK to unconditionally trust here because we're just checking if
|
|
# a URL exists.
|
|
quiet_system "svn", "ls", url, "--depth", "empty",
|
|
"--non-interactive", "--trust-server-cert"
|
|
end
|
|
end
|