aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/cmd/update.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/Library/Homebrew/cmd/update.rb b/Library/Homebrew/cmd/update.rb
index 944e7304a..f810acda0 100644
--- a/Library/Homebrew/cmd/update.rb
+++ b/Library/Homebrew/cmd/update.rb
@@ -13,7 +13,6 @@ end
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 @@ class RefreshBrew
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