From e15054a4f93fc54806e84aa7036e60168e78e823 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Fri, 6 Mar 2026 08:05:51 +0800 Subject: format/commitgraph: Add initial commit-graph support --- format/commitgraph/bloom/settings.go | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'format/commitgraph/bloom/settings.go') diff --git a/format/commitgraph/bloom/settings.go b/format/commitgraph/bloom/settings.go index 5aa122a9..764653bd 100644 --- a/format/commitgraph/bloom/settings.go +++ b/format/commitgraph/bloom/settings.go @@ -1,6 +1,10 @@ package bloom -import "encoding/binary" +import ( + "encoding/binary" + + "codeberg.org/lindenii/furgit/internal/intconv" +) // Settings describe the changed-paths Bloom filter parameters stored in // commit-graph BDAT chunks. @@ -27,5 +31,20 @@ func ParseSettings(bdat []byte) (*Settings, error) { MaxChangePaths: DefaultMaxChange, } + switch settings.HashVersion { + case 1, 2: + default: + return nil, ErrInvalid + } + + if settings.NumHashes == 0 { + return nil, ErrInvalid + } + + _, err := intconv.Uint32ToInt(settings.NumHashes) + if err != nil { + return nil, ErrInvalid + } + return settings, nil } -- cgit v1.3.1-10-gc9f91