Support building from Subversion repositories

Adds a new DownloadStrategy that checks files out from Subversion to the
cache, then exports over to the temp folder for the build.

To use checkout with the svn:// protocol or reimplement download_strategy and
return SubversionDownloadStrategy.
This commit is contained in:
Adam Vandenberg 2009-08-11 14:19:23 -07:00 committed by Max Howell
parent 0eaf4bbcd9
commit 57a86034a3

View File

@ -72,6 +72,23 @@ private
end
end
class SubversionDownloadStrategy <AbstractDownloadStrategy
def fetch
ohai "Checking out #{@url}"
@co=HOMEBREW_CACHE+@unique_token
unless @co.exist?
safe_system 'svn', 'checkout', @url, @co
else
# TODO svn up?
puts "Repository already checked out"
end
end
def stage
# Force the export, since the target directory will already exist
safe_system 'svn', 'export', '--force', @co, Dir.pwd
end
end
class ExecutionError <RuntimeError
def initialize cmd, args=[]