class Bundler::Source::Git

def cache

def cache
  if cached?
    return if has_revision_cached?
    Bundler.ui.info "Updating #{uri}"
    in_cache do
      git %|fetch --force --quiet --tags "#{uri}" refs/heads/*:refs/heads/*|
    end
  else
    Bundler.ui.info "Fetching #{uri}"
    FileUtils.mkdir_p(cache_path.dirname)
    git %|clone "#{uri}" "#{cache_path}" --bare --no-hardlinks|
  end
end