aboutsummaryrefslogtreecommitdiff
path: root/packfile/ingest/header.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-26 09:17:14 +0000
committerGravatar Runxi Yu2026-03-26 09:18:30 +0000
commit3e884f5f3d42cbc4874a04da31dde10314b0cfad (patch)
treef5e1e325fd1a2a0801791c054010213214475d80 /packfile/ingest/header.go
parentnetwork/receivepack: Rename from receivepack (diff)
signatureNo signature
format: Move commitgraph and packfile here
Diffstat (limited to 'packfile/ingest/header.go')
-rw-r--r--packfile/ingest/header.go49
1 files changed, 0 insertions, 49 deletions
diff --git a/packfile/ingest/header.go b/packfile/ingest/header.go
deleted file mode 100644
index c9db0f1b..00000000
--- a/packfile/ingest/header.go
+++ /dev/null
@@ -1,49 +0,0 @@
-package ingest
-
-import (
- "encoding/binary"
- "fmt"
- "io"
-
- "codeberg.org/lindenii/furgit/packfile"
-)
-
-const packHeaderSize = 12
-
-// readAndValidatePackHeader reads one PACK header from src and validates it.
-func readAndValidatePackHeader(src io.Reader) (HeaderInfo, [packHeaderSize]byte, error) {
- var hdr [packHeaderSize]byte
-
- _, err := io.ReadFull(src, hdr[:])
- if err != nil {
- return HeaderInfo{}, [packHeaderSize]byte{}, &InvalidPackHeaderError{
- Reason: fmt.Sprintf("read header: %v", err),
- }
- }
-
- header, err := parseAndValidatePackHeader(hdr)
- if err != nil {
- return HeaderInfo{}, [packHeaderSize]byte{}, err
- }
-
- return header, hdr, nil
-}
-
-// parseAndValidatePackHeader validates one already-read PACK header.
-func parseAndValidatePackHeader(hdr [packHeaderSize]byte) (HeaderInfo, error) {
- if binary.BigEndian.Uint32(hdr[:4]) != packfile.Signature {
- return HeaderInfo{}, &InvalidPackHeaderError{Reason: "signature mismatch"}
- }
-
- version := binary.BigEndian.Uint32(hdr[4:8])
- if !packfile.VersionSupported(version) {
- return HeaderInfo{}, &InvalidPackHeaderError{
- Reason: fmt.Sprintf("unsupported version %d", version),
- }
- }
-
- return HeaderInfo{
- Version: version,
- ObjectCount: binary.BigEndian.Uint32(hdr[8:12]),
- }, nil
-}