From 174187442eddb3020b47304f4391dff7fdfd1ed2 Mon Sep 17 00:00:00 2001 From: Joshua Sierles Date: Thu, 7 Jan 2010 01:22:36 +0100 Subject: speed: don't fetch git repos if a specified ref is already checked out --- lib/bundler/source.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/bundler/source.rb b/lib/bundler/source.rb index 774ec86c24..a8afa17666 100644 --- a/lib/bundler/source.rb +++ b/lib/bundler/source.rb @@ -333,7 +333,7 @@ module Bundler private def update if location.directory? - fetch + fetch if @ref && current_revision != @ref else clone end @@ -350,6 +350,10 @@ module Bundler `git clone #{@uri} #{location} --no-hardlinks` end + def current_revision + Dir.chdir(location) { `git rev-parse HEAD`.strip } + end + def checkout Dir.chdir(location) { `git checkout --quiet #{@ref}` } end -- cgit v1.2.1