From 5d7a06ba0bb02332810badc7ff7331382697349d Mon Sep 17 00:00:00 2001 From: iliana etaoin Date: Tue, 21 May 2024 17:47:01 -0700 Subject: [PATCH] don't ask github to resolve full commit hashes Co-authored-by: Weihang Lo --- src/cargo/sources/git/utils.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/cargo/sources/git/utils.rs b/src/cargo/sources/git/utils.rs index 8d84c276322..66fb11a3079 100644 --- a/src/cargo/sources/git/utils.rs +++ b/src/cargo/sources/git/utils.rs @@ -1417,6 +1417,14 @@ fn github_fast_path( return Ok(FastPathRev::UpToDate); } } + // If `rev` is a full commit hash, the only thing it can resolve + // to is itself. Don't bother talking to GitHub in that case + // either. (This ensures that we always attempt to fetch the + // commit directly even if we can't reach the GitHub API.) + if let Ok(oid) = rev.parse() { + debug!("github fast path is already a full commit hash {rev}"); + return Ok(FastPathRev::NeedsFetch(oid)); + } rev } else { debug!("can't use github fast path with `rev = \"{}\"`", rev);