diff --git a/Library/Formula/git-multipush.rb b/Library/Formula/git-multipush.rb index 7ab88fd741e1..a6c70b4b72f3 100644 --- a/Library/Formula/git-multipush.rb +++ b/Library/Formula/git-multipush.rb @@ -5,13 +5,13 @@ class GitMultipush < Formula url 'http://git-multipush.googlecode.com/files/git-multipush-2.3.tar.bz2' sha1 'a53f171af5e794afe9b1de6ccd9bd0661db6fd91' - head 'https://github.com/gavinbeatty/git-multipush.git', :sha => 'HEAD' + head 'https://github.com/gavinbeatty/git-multipush.git', :revision => 'HEAD' depends_on 'asciidoc' => :build if ARGV.build_head? def install if ARGV.build_head? - ENV['GIT_DIR'] = cached_location/'.git' + ENV['GIT_DIR'] = cached_download/'.git' inreplace 'make/gen-version.mk', '.git', '$(GIT_DIR)' system "make" end diff --git a/Library/Formula/reattach-to-user-namespace.rb b/Library/Formula/reattach-to-user-namespace.rb index aed66dadc381..7f9357399b00 100644 --- a/Library/Formula/reattach-to-user-namespace.rb +++ b/Library/Formula/reattach-to-user-namespace.rb @@ -3,7 +3,7 @@ class ReattachToUserNamespace < Formula head 'https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard.git' homepage 'https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard' - url 'https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard.git', :tag => 'dadea0aa48259c704d0b412b9588de2f5623e323' + url 'https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard.git', :revision => 'dadea0aa48259c704d0b412b9588de2f5623e323' version 'dadea0' def options diff --git a/Library/Formula/topgit.rb b/Library/Formula/topgit.rb index bca8c570a950..9d5032642275 100644 --- a/Library/Formula/topgit.rb +++ b/Library/Formula/topgit.rb @@ -2,7 +2,7 @@ class Topgit < Formula homepage 'http://repo.or.cz/w/topgit.git' - url 'git://repo.or.cz/topgit.git', :tag => '1744aca50f3d7b6b4863523207e5010e112dfb85' + url 'git://repo.or.cz/topgit.git', :revision => '1744aca50f3d7b6b4863523207e5010e112dfb85' version '0.8' def install diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index 6b8aff900ce0..6a5dd6ac7c59 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -324,14 +324,10 @@ def cached_location end def support_depth? - !commit_history_required? and depth_supported_host? + @spec != :revision and host_supports_depth? end - def commit_history_required? - @spec == :sha - end - - def depth_supported_host? + def host_supports_depth? @url =~ %r(git://) or @url =~ %r(https://github.com/) end @@ -352,16 +348,31 @@ def fetch unless @clone.exist? # Note: first-time checkouts are always done verbosely - git_args = %w(git clone) - git_args << "--depth" << "1" if support_depth? - git_args << @url << @clone - safe_system(*git_args) + clone_args = %w[git clone] + clone_args << '--single-branch' + clone_args << '--depth' << '1' if support_depth? + + case @spec + when :branch, :tag + clone_args << '--branch' << @ref + end + + clone_args << @url << @clone + safe_system(*clone_args) else puts "Updating #{@clone}" Dir.chdir(@clone) do - safe_system 'git', 'remote', 'set-url', 'origin', @url - quiet_safe_system 'git', 'fetch', 'origin' - quiet_safe_system 'git', 'fetch', '--tags' if @spec == :tag + safe_system 'git', 'config', 'remote.origin.url', @url + + safe_system 'git', 'config', 'remote.origin.fetch', case @spec + when :branch then "+refs/heads/#{@ref}:refs/remotes/origin/#{@ref}" + when :tag then "+refs/tags/#{@ref}:refs/tags/#{@ref}" + else '+refs/heads/master:refs/remotes/origin/master' + end + + git_args = %w[git fetch origin] + git_args << '--depth' << '1' if support_depth? + quiet_safe_system(*git_args) end end end @@ -373,9 +384,9 @@ def stage ohai "Checking out #{@spec} #{@ref}" case @spec when :branch - nostdout { quiet_safe_system 'git', 'checkout', "origin/#{@ref}" } - when :tag, :sha - nostdout { quiet_safe_system 'git', 'checkout', @ref } + nostdout { quiet_safe_system 'git', 'checkout', "origin/#{@ref}", '--' } + when :tag, :revision + nostdout { quiet_safe_system 'git', 'checkout', @ref, '--' } end else # otherwise the checkout-index won't checkout HEAD