diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb index 395fce2b59..3f0760e43f 100644 --- a/Library/Homebrew/tap.rb +++ b/Library/Homebrew/tap.rb @@ -590,17 +590,18 @@ class Tap end return unless remote + current_upstream_head = git_repository.origin_branch_name + return if current_upstream_head.present? && requested_remote.blank? && git_repository.origin_has_branch?(current_upstream_head) + args = %w[fetch] args << "--quiet" if quiet args << "origin" args << "+refs/heads/*:refs/remotes/origin/*" safe_system "git", "-C", path, *args - - current_upstream_head = T.must(git_repository.origin_branch_name) - return if requested_remote.blank? && git_repository.origin_has_branch?(current_upstream_head) - git_repository.set_head_origin_auto + current_upstream_head = git_repository.origin_branch_name if current_upstream_head.nil? + new_upstream_head = T.must(git_repository.origin_branch_name) return if new_upstream_head == current_upstream_head