aboutsummaryrefslogtreecommitdiff
path: root/format
diff options
context:
space:
mode:
Diffstat (limited to 'format')
-rw-r--r--format/pack/ingest/ingest_test.go2
-rw-r--r--format/pack/ingest/resolve.go10
-rw-r--r--format/pack/ingest/stream_scan.go7
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