From 8dba3ca9de63383531caef6a8ce230ec799ef334 Mon Sep 17 00:00:00 2001 From: Lorenz Leutgeb Date: Thu, 23 Apr 2026 18:33:20 +0200 Subject: [PATCH] protocol: Decode `radicle_oid::Oid` without `git2` `impl Decode for Oid` uses `git2` via `radicle::git::raw`. This is unnecessarily complex. --- crates/radicle-protocol/src/wire.rs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/crates/radicle-protocol/src/wire.rs b/crates/radicle-protocol/src/wire.rs index 66cf57db..729a023a 100644 --- a/crates/radicle-protocol/src/wire.rs +++ b/crates/radicle-protocol/src/wire.rs @@ -21,7 +21,6 @@ use cypheraddr::tor; use radicle::crypto::{PublicKey, Signature}; use radicle::git; use radicle::git::fmt; -use radicle::git::raw; use radicle::identity::RepoId; use radicle::node; use radicle::node::Alias; @@ -390,11 +389,7 @@ impl Decode for git::Oid { return Err(Invalid::Oid { actual: len }.into()); } - let buf: [u8; git::Oid::SHA1_LEN] = Decode::decode(buf)?; - let oid = raw::Oid::from_bytes(&buf).expect("the buffer is exactly the right size"); - let oid = git::Oid::from(oid); - - Ok(oid) + Ok(git::Oid::Sha1(Decode::decode(buf)?)) } }