brew update
fails when (1) more than one private tap uses git protocol and (2) the ssh keys are in an ssh-agent that requires interactivity
#5242
Replies: 2 comments
-
I'll note that I've got a (test) setup that is as identical as can be to @samhclark — we're coworkers — except for
I'm not able to reproduce this. It has to be something related to how the |
Beta Was this translation helpful? Give feedback.
-
I think this is the answer.
That's the direction I'll take for now. |
Beta Was this translation helpful? Give feedback.
-
Output of
brew config
Output of
brew doctor
Description of issue
By "private tap" I mean one that is not on GitHub and not public, so it requires the full URL to connect and requires some sort of auth to access it.
The ssh-agent I'm using here is Secretive. The ssh private key is stored inside the Mac's Secure Enclave so it requires Touch ID for every operation.
The behavior I see is that
brew update
works just fine when I have just one private tap and when using Secretive. No problems at all. It prompts me for my fingerprint and then is able to update that tap no problem. But when I add a second tap, things break. The update fails for one or both taps (hard for me to tell...).The logs for that look something like this (
brew update --debug
):But what's strange is that the log "agent refused operation" is showing on the terminal while the Touch ID prompt is still up. So it failed before I had a chance to interact.
To be really clear, that ssh key and setup works usually. It works for normal ssh operations. It works for git. It works for Homebrew when I have only one tap. It's only once I add another that I see issues.
I found this GitHub Issue which led me to this commit which says
but editing
/opt/homebrew/Library/Homebrew/cmd/update.sh
to set-oBatchMode=no
didn't fix it. So I'd like to keep looking for a spot to fix it, but I don't know where to look next.Thought I should post here for some tips so I can use Secretive for more than one tap. Any thoughts?
Beta Was this translation helpful? Give feedback.
All reactions