From 1a769c46654947b64e5ec9a4ca80f693ad51e3a0 Mon Sep 17 00:00:00 2001 From: Colin Seymour Date: Mon, 11 Dec 2017 12:37:21 +0000 Subject: [PATCH] Handle repo cleanup race more elegantly (#3930) * Don't attempt to get pwd for error message * Print error instead of raising exception This is more user-friendly too. * Switch back to raise, but rescue it too * Refactor --- bin/git-linguist | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bin/git-linguist b/bin/git-linguist index 510354f4..0eee929a 100755 --- a/bin/git-linguist +++ b/bin/git-linguist @@ -117,9 +117,8 @@ def git_linguist(args) end parser.parse!(args) - git_dir = `git rev-parse --git-dir`.strip - raise "git-linguist must be run in a Git repository (#{Dir.pwd})" unless $?.success? + raise "git-linguist must be run in a Git repository" unless $?.success? wrapper = GitLinguist.new(git_dir, commit, incremental) case args.pop @@ -141,6 +140,10 @@ def git_linguist(args) $stderr.print(parser.help) exit 1 end +rescue Exception => e + $stderr.puts e.message + $stderr.puts e.backtrace + exit 1 end git_linguist(ARGV)