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.
This commit is contained in:
parent
8c521ca3d0
commit
08f31bc573
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user