aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/cmd')
-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 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