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_escaped} "refs/heads/*:refs/heads/*"|
    end
  else
    Bundler.ui.info "Fetching #{uri}"
    FileUtils.mkdir_p(cache_path.dirname)
    git %|clone #{uri_escaped} "#{cache_path}" --bare --no-hardlinks|
  end
end