askpass: Don't log error when user cancels askpass prompt (#39544)

Release Notes:

- N/A *or* Added/Fixed/Improved ...
This commit is contained in:
Lukas Wirth
2025-10-05 07:50:34 +00:00
committed by GitHub
parent 68e6d55596
commit eb64ca8758
2 changed files with 8 additions and 10 deletions
+4 -9
View File
@@ -46,10 +46,10 @@ impl AskPassDelegate {
Self { tx, _task: task }
}
pub async fn ask_password(&mut self, prompt: String) -> Result<EncryptedPassword> {
pub async fn ask_password(&mut self, prompt: String) -> Option<EncryptedPassword> {
let (tx, rx) = oneshot::channel();
self.tx.send((prompt, tx)).await?;
Ok(rx.await?)
self.tx.send((prompt, tx)).await.ok()?;
rx.await.ok()
}
}
@@ -106,12 +106,7 @@ impl AskPassSession {
buffer.clear();
}
let prompt = String::from_utf8_lossy(&buffer);
if let Some(password) = delegate
.ask_password(prompt.to_string())
.await
.context("getting askpass password")
.log_err()
{
if let Some(password) = delegate.ask_password(prompt.into_owned()).await {
#[cfg(target_os = "windows")]
{
askpass_secret.get_or_init(|| password.clone());
+4 -1
View File
@@ -2110,7 +2110,10 @@ impl GitStore {
anyhow::bail!("no askpass found");
};
let response = askpass.ask_password(envelope.payload.prompt).await?;
let response = askpass
.ask_password(envelope.payload.prompt)
.await
.ok_or_else(|| anyhow::anyhow!("askpass cancelled"))?;
delegates
.lock()