Skip to content
Snippets Groups Projects
Commit 08f31bc5 authored by Max Howell's avatar Max Howell
Browse files

Fix first `brew update` with Git 1.7.4+; Fixes Homebrew/homebrew#5128

Behaviour for git checkout was changed such that the update would fail because it refused to checkout files on to existing files in the working directory.

This was bad behaviour anyway, we should make efforts to keep any local modifications to the Homebrew checkout. Everything is neatly resolved if we just do a --soft reset.

Closes Homebrew/homebrew#6017.
parent 8c521ca3
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment