aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/download_strategy.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb
index 8b6f95525..2dffccea5 100644
--- a/Library/Homebrew/download_strategy.rb
+++ b/Library/Homebrew/download_strategy.rb
@@ -282,6 +282,22 @@ class StrictSubversionDownloadStrategy < SubversionDownloadStrategy
end
end
+# Download from SVN servers with invalid or self-signed certs
+class UnsafeSubversionDownloadStrategy < SubversionDownloadStrategy
+ def fetch_repo target, url, revision=nil, ignore_externals=false
+ # Use "svn up" when the repository already exists locally.
+ # This saves on bandwidth and will have a similar effect to verifying the
+ # cache as it will make any changes to get the right revision.
+ svncommand = target.exist? ? 'up' : 'checkout'
+ args = [svn, svncommand, '--non-interactive', '--trust-server-cert', '--force']
+ args << url if !target.exist?
+ args << target
+ args << '-r' << revision if revision
+ args << '--ignore-externals' if ignore_externals
+ quiet_safe_system(*args)
+ end
+end
+
class GitDownloadStrategy < AbstractDownloadStrategy
def initialize url, name, version, specs
super