From 390bf44f6968b6317bd9f782e7bc80ee778897dd Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 3 Jun 2017 10:02:40 +0100 Subject: [PATCH] missing_formula: note on shallow clones. This avoids the user confusion on incomplete results seen in http://discourse.brew.sh/t/missing-formula-location/818/7 --- Library/Homebrew/missing_formula.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/missing_formula.rb b/Library/Homebrew/missing_formula.rb index eac3d77257..75498b128b 100644 --- a/Library/Homebrew/missing_formula.rb +++ b/Library/Homebrew/missing_formula.rb @@ -126,10 +126,17 @@ module Homebrew relative_path = path.relative_path_from tap.path tap.path.cd do - ohai "Searching for a previously deleted formula..." unless silent + unless silent + ohai "Searching for a previously deleted formula..." + if (tap.path/".git/shallow").exist? + opoo <<-EOS.undent + #{tap} is shallow clone. To get complete history run: + git -C "$(brew --repo #{tap})" fetch --unshallow + + EOS + end + end - # We know this may return incomplete results for shallow clones but - # we don't want to nag everyone with a shallow clone to unshallow it. log_command = "git log --name-only --max-count=1 --format=%H\\\\n%h\\\\n%B -- #{relative_path}" hash, short_hash, *commit_message, relative_path = Utils.popen_read(log_command).gsub("\\n", "\n").lines.map(&:chomp)