From d95e7079a2f0c6e259dcf8e1222dcb80da250fcb Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Tue, 13 Sep 2011 22:19:50 -0500 Subject: [PATCH] Reset to remote master when updating git clones When installing with --HEAD, cached repo clones do "git fetch origin" followed by "git reset --hard". This will only reset the working tree and index to the state of the local HEAD, but Homebrew will think it's updated and install anyway. "git reset --hard origin/master" will achieve the desired result. Should fix Homebrew/homebrew#7613. Signed-off-by: Jack Nagel --- Library/Homebrew/download_strategy.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index cfdaaa7bee..d043ef450e 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -346,7 +346,8 @@ class GitDownloadStrategy < AbstractDownloadStrategy else # otherwise the checkout-index won't checkout HEAD # https://github.com/mxcl/homebrew/issues/7124 - quiet_safe_system "git", "reset", "--hard" + # must specify origin/master, otherwise it resets to the current local HEAD + quiet_safe_system "git", "reset", "--hard", "origin/master" end # http://stackoverflow.com/questions/160608/how-to-do-a-git-export-like-svn-export safe_system 'git', 'checkout-index', '-a', '-f', "--prefix=#{dst}/"