SubversionDownloadStrategy: handle changed repository URL

Fixes Homebrew/homebrew#22159.
This commit is contained in:
Jack Nagel 2013-12-03 21:13:02 -06:00
parent 94333c64c1
commit fa5b633650

View File

@ -365,10 +365,16 @@ class SubversionDownloadStrategy < VCSDownloadStrategy
@clone.join(".svn").directory?
end
def repo_url
`svn info '#{@clone}' 2>/dev/null`.strip[/^URL: (.+)$/, 1]
end
def fetch
@url = @url.sub(/^svn\+/, '') if @url =~ %r[^svn\+http://]
ohai "Checking out #{@url}"
clear_cache unless @url.chomp("/") == repo_url or quiet_system 'svn', 'switch', @url, @clone
if @clone.exist? and not repo_valid?
puts "Removing invalid SVN repo from cache"
clear_cache