diff options
Diffstat (limited to 'Library/Homebrew/cmd')
| -rw-r--r-- | Library/Homebrew/cmd/update.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Library/Homebrew/cmd/update.rb b/Library/Homebrew/cmd/update.rb index 4be763b6a..9890d15ef 100644 --- a/Library/Homebrew/cmd/update.rb +++ b/Library/Homebrew/cmd/update.rb @@ -187,7 +187,13 @@ class Updater @stashed = true end - @initial_branch = `git symbolic-ref --short HEAD`.chomp + + begin + @initial_branch = `git symbolic-ref --short HEAD 2>/dev/null`.chomp + rescue ErrorDuringExecution + @initial_branch = "" + end + if @initial_branch != "master" && !@initial_branch.empty? safe_system "git", "checkout", "master", *quiet end @@ -227,7 +233,7 @@ class Updater ignore_interrupts { yield } ensure if $?.signaled? && $?.termsig == 2 # SIGINT - safe_system "git", "checkout", @initial_branch + safe_system "git", "checkout", @initial_branch unless @initial_branch.empty? safe_system "git", "reset", "--hard", @initial_revision safe_system "git", "stash", "pop" if @stashed end |
