diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index 1d796f673f0381553fdfc94e84db66c347ea05ca..06942cc0b1a8a8f78748c38c7407b7324f7888a5 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -135,8 +135,8 @@ class SubversionDownloadStrategy <AbstractDownloadStrategy unless @co.exist? quiet_safe_system svn, 'checkout', @url, @co else - # TODO svn up? - puts "Repository already checked out" + puts "Updating #{@co}" + quiet_safe_system svn, 'up', @co end end @@ -162,8 +162,8 @@ class GitDownloadStrategy <AbstractDownloadStrategy unless @clone.exist? quiet_safe_system 'git', 'clone', @url, @clone else - # TODO git pull? - puts "Repository already cloned to #{@clone}" + puts "Updating #{@clone}" + Dir.chdir(@clone) { quiet_safe_system 'git', 'fetch', @url } end end @@ -202,8 +202,9 @@ class CVSDownloadStrategy <AbstractDownloadStrategy safe_system '/usr/bin/cvs', '-d', url, 'checkout', '-d', @unique_token, mod end else - # TODO cvs up? - puts "Repository already checked out" + d = HOMEBREW_CACHE+@unique_token + puts "Updating #{d}" + Dir.chdir(d) { safe_system '/usr/bin/cvs', 'up' } end end @@ -242,12 +243,10 @@ class MercurialDownloadStrategy <AbstractDownloadStrategy url=@url.sub(%r[^hg://], '') unless @clone.exist? - checkout_args = [] - checkout_args << url << @clone - safe_system 'hg', 'clone', *checkout_args + safe_system 'hg', 'clone', url, @clone else - # TODO hg pull? - puts "Repository already cloned" + puts "Updating #{@clone}" + Dir.chdir(@clone) { safe_system 'hg', 'update' } end end