diff --git a/crates/radicle-fetch/src/transport.rs b/crates/radicle-fetch/src/transport.rs index 405d8925..14c14dd8 100644 --- a/crates/radicle-fetch/src/transport.rs +++ b/crates/radicle-fetch/src/transport.rs @@ -327,9 +327,15 @@ impl WantsHaves { } } -fn agent_name() -> io::Result { - Ok(format!( - "git/{}", - radicle::git::version().map_err(io_other)? - )) +fn agent_name() -> String { + let version = match radicle::git::version() { + Ok(version) => version, + Err(err) => { + use radicle::git::VERSION_REQUIRED; + log::warn!(target: "fetch", "The git version could not be determined: {err}"); + log::warn!(target: "fetch", "Pretending that we are on git version {VERSION_REQUIRED}."); + VERSION_REQUIRED + } + }; + format!("git/{version}") } diff --git a/crates/radicle-fetch/src/transport/fetch.rs b/crates/radicle-fetch/src/transport/fetch.rs index 3fdffaf4..641fbfd9 100644 --- a/crates/radicle-fetch/src/transport/fetch.rs +++ b/crates/radicle-fetch/src/transport/fetch.rs @@ -174,7 +174,7 @@ where keepfile: None, }; let mut negotiate = Negotiate { wants_haves }; - let agent = agent_name().map_err(Error::ReadRemainingBytes)?; + let agent = agent_name(); let mut pack_out = None; let mut handshake = handshake.clone(); diff --git a/crates/radicle-fetch/src/transport/ls_refs.rs b/crates/radicle-fetch/src/transport/ls_refs.rs index 3696c67a..6ef18ebb 100644 --- a/crates/radicle-fetch/src/transport/ls_refs.rs +++ b/crates/radicle-fetch/src/transport/ls_refs.rs @@ -60,7 +60,7 @@ where arg.push_str(prefix); args.push(arg) } - features.push(("agent", Some(Cow::Owned(agent_name()?)))); + features.push(("agent", Some(Cow::Owned(agent_name())))); Ok(gix_protocol::ls_refs::Action::Continue) }, progress,