diff options
| author | 2026-03-05 21:21:22 +0800 | |
|---|---|---|
| committer | 2026-03-05 21:21:22 +0800 | |
| commit | ca719713fc0899440823796aaf8c2cbd88707728 (patch) | |
| tree | aaae516469cc33fef65f894f8f1bfc3dacac4cd3 /format | |
| parent | *: Prettify (diff) | |
| signature | No signature | |
format/pack/ingest: Fix exhaustive
Diffstat (limited to 'format')
| -rw-r--r-- | format/pack/ingest/ingest_test.go | 2 | ||||
| -rw-r--r-- | format/pack/ingest/resolve.go | 10 | ||||
| -rw-r--r-- | format/pack/ingest/stream_scan.go | 7 |
3 files changed, 18 insertions, 1 deletions
diff --git a/format/pack/ingest/ingest_test.go b/format/pack/ingest/ingest_test.go index 35f19b43..0e51e0fd 100644 --- a/format/pack/ingest/ingest_test.go +++ b/format/pack/ingest/ingest_test.go @@ -15,7 +15,7 @@ import ( ) func fixtureAlgorithmDir(algo objectid.Algorithm) string { - switch algo { + switch algo { //nolint:exhaustive case objectid.AlgorithmSHA1: return "sha1" case objectid.AlgorithmSHA256: diff --git a/format/pack/ingest/resolve.go b/format/pack/ingest/resolve.go index e357e1aa..2347dbd5 100644 --- a/format/pack/ingest/resolve.go +++ b/format/pack/ingest/resolve.go @@ -129,6 +129,16 @@ func resolveRecord(state *ingestState, idx int, visiting map[int]struct{}) (obje } else { return objecttype.TypeInvalid, nil, errExternalThinBase } + case objecttype.TypeInvalid, + objecttype.TypeCommit, + objecttype.TypeTree, + objecttype.TypeBlob, + objecttype.TypeTag, + objecttype.TypeFuture: + return objecttype.TypeInvalid, nil, &ErrMalformedPackEntry{ + Offset: record.offset, + Reason: "unsupported delta type", + } default: return objecttype.TypeInvalid, nil, &ErrMalformedPackEntry{ Offset: record.offset, diff --git a/format/pack/ingest/stream_scan.go b/format/pack/ingest/stream_scan.go index 97bb0ae8..56ee5d55 100644 --- a/format/pack/ingest/stream_scan.go +++ b/format/pack/ingest/stream_scan.go @@ -161,6 +161,13 @@ func scanOneEntry(state *ingestState, startOffset uint64) (uint64, error) { baseObject: record.baseObject, recordIdx: recordIdx, }) + case objecttype.TypeInvalid, + objecttype.TypeCommit, + objecttype.TypeTree, + objecttype.TypeBlob, + objecttype.TypeTag, + objecttype.TypeFuture: + default: } return endOffset, nil |
