aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Formula/git-multipush.rb4
-rw-r--r--Library/Formula/reattach-to-user-namespace.rb2
-rw-r--r--Library/Formula/topgit.rb2
-rw-r--r--Library/Homebrew/download_strategy.rb43
4 files changed, 31 insertions, 20 deletions
diff --git a/Library/Formula/git-multipush.rb b/Library/Formula/git-multipush.rb
index 7ab88fd74..a6c70b4b7 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 aed66dadc..7f9357399 100644
--- a/Library/Formula/reattach-to-user-namespace.rb
+++ b/Library/Formula/reattach-to-user-namespace.rb
@@ -3,7 +3,7 @@ require 'formula'
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 bca8c570a..9d5032642 100644
--- a/Library/Formula/topgit.rb
+++ b/Library/Formula/topgit.rb
@@ -2,7 +2,7 @@ require 'formula'
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 6b8aff900..6a5dd6ac7 100644
--- a/Library/Homebrew/download_strategy.rb
+++ b/Library/Homebrew/download_strategy.rb
@@ -324,14 +324,10 @@ class GitDownloadStrategy < AbstractDownloadStrategy
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 @@ class GitDownloadStrategy < AbstractDownloadStrategy
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 @@ class GitDownloadStrategy < AbstractDownloadStrategy
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