Re: [PATCH 00/14] SHA-1/SHA-256 interoperability, part 2
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 14, 2025, 21:11 UTC
- Message-ID
- <xmqqms4ogvzn.fsf@gitster.g>
- In-Reply-To
- <xmqq7bvsjzlx.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 18 quoted lines
> "brian m. carlson" <sandals@crustytoothpaste.net> writes: > >> The new Rust files have adopted an approach that is slightly different >> from some of our other files and placed a license notice at the top. >> This is required because of DCO part (a): "I have the right to submit it >> under the open source license indicated in the file". It also avoids >> ambiguity if the file is copied into a separate location (such as an LLM >> training corpus). > > You may be aware of them already, but just in case, I was looking at > CI breakages and noticed that "cargo clippy" warnings added in > 4b44c464 (ci: check for common Rust mistakes via Clippy, 2025-10-15) > > https://github.com/git/git/actions/runs/19346329259/job/55347554528#step:5:73 > > mostly seem to come from steps 12 and 13 of this series. > > Thanks.
This is what I queued on top for today's integration run in an attempt to work it around. I am happy about the changes to assert_eq!(*, [true|false]), even though I may not be happy that clippy is unhappy about this particular construct. I also am not so unhappy with the "do not needlessly borrow" changes near the end.
The first hunk in src/loose.rs thing is a monkey-see-monkey-do patch that may or may not make any sense, which I strongly want to be replaced with a proper update by somebody who knows what they are doing.
src/hash.rs | 2 +- src/loose.rs | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/hash.rs b/src/hash.rs index 8798a50aef..cc696688af 100644 --- a/src/hash.rs +++ b/src/hash.rs @@ -310,7 +310,7 @@ mod tests { ]; for (data, oid) in tests { let mut h = algo.hasher(); - assert_eq!(h.is_safe(), true); + assert!(h.is_safe()); // Test that this works incrementally. h.update(&data[0..2]); h.update(&data[2..]); diff --git a/src/loose.rs b/src/loose.rs index a4e7d2fa48..8d4264c626 100644 --- a/src/loose.rs +++ b/src/loose.rs @@ -700,7 +700,8 @@ mod tests { } } - fn test_entries() -> &'static [(&'static str, &'static [u8], &'static [u8], MapType, bool)] { + type TwoHashesTestVectorEntry = (&'static str, &'static [u8], &'static [u8], MapType, bool); + fn test_entries() -> &'static [TwoHashesTestVectorEntry] { // These are all example blobs containing the content in the first argument. &[ ("abc", b"\xf2\xba\x8f\x84\xab\x5c\x1b\xce\x84\xa7\xb4\x41\xcb\x19\x59\xcf\xc7\x09\x3b\x7f", b"\xc1\xcf\x6e\x46\x50\x77\x93\x0e\x88\xdc\x51\x36\x64\x1d\x40\x2f\x72\xa2\x29\xdd\xd9\x96\xf6\x27\xd6\x0e\x96\x39\xea\xba\x35\xa6", MapType::LooseObject, false), @@ -741,7 +742,7 @@ mod tests { let mut wrtr = TrailingWriter::new(); map.finish_batch(&mut wrtr).unwrap(); - assert_eq!(map.has_batch(), false); + assert!(!map.has_batch()); let data = wrtr.finalize(); MmapedLooseObjectMap::new(&data, HashAlgorithm::SHA256).unwrap(); @@ -754,7 +755,7 @@ mod tests { let mut wrtr = TrailingWriter::new(); map.finish_batch(&mut wrtr).unwrap(); - assert_eq!(map.has_batch(), false); + assert!(!map.has_batch()); let data = wrtr.finalize(); let entries = test_entries(); @@ -886,16 +887,16 @@ mod tests { let s256 = f(HashAlgorithm::SHA256); let s1 = f(HashAlgorithm::SHA1); - let res = map.map_object(&s256, HashAlgorithm::SHA1).unwrap(); + let res = map.map_object(s256, HashAlgorithm::SHA1).unwrap(); assert_eq!(res.oid, *s1); assert_eq!(res.kind, MapType::Reserved); - let res = map.map_oid(&s256, HashAlgorithm::SHA1).unwrap(); + let res = map.map_oid(s256, HashAlgorithm::SHA1).unwrap(); assert_eq!(*res, *s1); - let res = map.map_object(&s1, HashAlgorithm::SHA256).unwrap(); + let res = map.map_object(s1, HashAlgorithm::SHA256).unwrap(); assert_eq!(res.oid, *s256); assert_eq!(res.kind, MapType::Reserved); - let res = map.map_oid(&s1, HashAlgorithm::SHA256).unwrap(); + let res = map.map_oid(s1, HashAlgorithm::SHA256).unwrap(); assert_eq!(*res, *s256); } }
-- 2.52.0-rc2-455-g230fcf2819