From bdc6d649c6ea0198f59b61f2dffe89311c61f88f Mon Sep 17 00:00:00 2001 From: Grey Baker Date: Wed, 15 Aug 2018 10:27:17 +0100 Subject: Avoid printing git error when checking version on badly packaged version --- lib/bundler/build_metadata.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/bundler/build_metadata.rb b/lib/bundler/build_metadata.rb index 54436f982d..a0428f0319 100644 --- a/lib/bundler/build_metadata.rb +++ b/lib/bundler/build_metadata.rb @@ -23,7 +23,15 @@ module Bundler # The SHA for the git commit the bundler gem was built from. def self.git_commit_sha - @git_commit_sha ||= Dir.chdir(File.expand_path("..", __FILE__)) do + return @git_commit_sha if @git_commit_sha + + # If Bundler has been installed without its .git directory and without a + # commit instance variable then we can't determine its commits SHA. + git_dir = File.join(File.expand_path("../../..", __FILE__), ".git") + return "unknown" unless File.directory?(git_dir) + + # Otherwise shell out to git. + @git_commit_sha = Dir.chdir(File.expand_path("..", __FILE__)) do `git rev-parse --short HEAD`.strip.freeze end end -- cgit v1.2.1