radicle-heartwood-lfs/crates/radicle-protocol/src
Fintan Halpenny cef0ff571d oid: use `std:#️⃣:Hasher::hash` over `Hasher::write`
Previously, the `RepoId` was backed by the `git2::Oid` type, which has a `Hash`
implementation that uses `std:#️⃣:Hasher::hash`. This uses a length prefixed
form for hashing.

When switching to `radicle_oid::Oid` and implementing `Hash` without the length
prefix, this subtly changed the hashes going forward.

These hashes are used in `BloomFilter`, which is the type underlying `Filter`.
This resulted in cases where a previous `Filter` that certainly contained
`rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5` were suddenly reporting that they did not
contain this repository.

Changing the implementation of `Hash` for `radicle_oid::Oid` fixes this, and is
confirmed by adding the regression test in `filter.rs`.
2025-10-16 15:14:10 +01:00
..
service oid: use `std:#️⃣:Hasher::hash` over `Hasher::write` 2025-10-16 15:14:10 +01:00
wire protocol/wire/test: Define `fn roundtrip` and macro 2025-08-27 12:48:11 +02:00
worker workspace: A Little Less `git2` 2025-10-13 16:14:23 +02:00
bounded.rs protocol: Reimplement encoding on top of `bytes` 2025-07-16 21:15:55 +02:00
deserializer.rs protocol: Refactor decoding 2025-08-25 11:57:44 +01:00
lib.rs node, protocol: Refactor 2025-07-16 21:15:52 +02:00
service.rs workspace: A Little Less `git2` 2025-10-13 16:14:23 +02:00
wire.rs workspace: A Little Less `git2` 2025-10-13 16:14:23 +02:00
worker.rs node, protocol: Refactor 2025-07-16 21:15:52 +02:00