diff --git a/Library/Homebrew/cmd/update.rb b/Library/Homebrew/cmd/update.rb index 944e7304a9e7..f810acda0cb7 100644 --- a/Library/Homebrew/cmd/update.rb +++ b/Library/Homebrew/cmd/update.rb @@ -13,7 +13,6 @@ def update class RefreshBrew REPOSITORY_URL = "http://github.com/mxcl/homebrew.git" - INIT_COMMAND = "git init" CHECKOUT_COMMAND = "git checkout -q master" UPDATE_COMMAND = "git pull #{REPOSITORY_URL} master" REVISION_COMMAND = "git rev-parse HEAD" @@ -40,7 +39,14 @@ def update_from_masterbrew! safe_system CHECKOUT_COMMAND @initial_revision = read_revision else - safe_system INIT_COMMAND + begin + safe_system "git init" + safe_system "git fetch #{REPOSITORY_URL}" + safe_system "git reset FETCH_HEAD" + rescue Exception + safe_system "rm -rf .git" + raise + end end execute(UPDATE_COMMAND) @current_revision = read_revision