From 7d9c128ce04875f970c78673500c0a492000398f Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Wed, 25 Mar 2026 14:21:09 +0000 Subject: *: objecttype, objectheader -> object/type, object/header --- cmd/show-object/main.go | 2 +- commitquery/ancestor_unit_test.go | 2 +- commitquery/mergebase_unit_test.go | 2 +- commitquery/oid.go | 2 +- diff/trees/diff_test.go | 2 +- errors/type.go | 2 +- internal/peel/peel.go | 2 +- object/blob.go | 2 +- object/blob_serialize.go | 4 +-- object/commit.go | 2 +- object/commit_serialize.go | 4 +-- object/header/append.go | 29 +++++++++++++++++ object/header/encode.go | 8 +++++ object/header/parse.go | 43 +++++++++++++++++++++++++ object/object.go | 2 +- object/parse.go | 4 +-- object/resolve/exact_blob_reader.go | 2 +- object/resolve/exact_commit_reader.go | 2 +- object/resolve/exact_reader.go | 2 +- object/resolve/exact_tag_reader.go | 2 +- object/resolve/exact_tree_reader.go | 2 +- object/resolve/object_parse.go | 2 +- object/resolve/peel_to_blob_id.go | 2 +- object/resolve/peel_to_commit_id.go | 2 +- object/resolve/peel_to_tree_id.go | 2 +- object/tag.go | 2 +- object/tag_parse.go | 2 +- object/tag_parse_test.go | 2 +- object/tag_serialize.go | 4 +-- object/tree.go | 2 +- object/tree_serialize.go | 4 +-- object/type.go | 2 +- object/type/name.go | 42 ++++++++++++++++++++++++ object/type/objecttype.go | 16 +++++++++ objectheader/append.go | 29 ----------------- objectheader/encode.go | 8 ----- objectheader/parse.go | 43 ------------------------- objectstore/chain/bytes.go | 2 +- objectstore/chain/header.go | 2 +- objectstore/chain/reader.go | 2 +- objectstore/loose/helpers_test.go | 4 +-- objectstore/loose/parse.go | 4 +-- objectstore/loose/read_bytes.go | 2 +- objectstore/loose/read_header.go | 2 +- objectstore/loose/read_reader.go | 2 +- objectstore/loose/read_test.go | 2 +- objectstore/loose/write_bytes.go | 2 +- objectstore/loose/write_reader.go | 4 +-- objectstore/loose/write_test.go | 4 +-- objectstore/loose/write_writer_accept.go | 2 +- objectstore/memory/add.go | 4 +-- objectstore/memory/object.go | 2 +- objectstore/memory/read_bytes.go | 4 +-- objectstore/memory/read_header.go | 2 +- objectstore/memory/read_reader.go | 2 +- objectstore/mix/bytes.go | 2 +- objectstore/mix/header.go | 2 +- objectstore/mix/reader.go | 2 +- objectstore/objectstore.go | 2 +- objectstore/packed/delta_build_chain.go | 2 +- objectstore/packed/delta_cache.go | 2 +- objectstore/packed/delta_chain.go | 2 +- objectstore/packed/delta_resolve_chain.go | 2 +- objectstore/packed/delta_resolve_chain_start.go | 2 +- objectstore/packed/delta_resolve_content.go | 2 +- objectstore/packed/entry_parse.go | 2 +- objectstore/packed/helpers_test.go | 4 +-- objectstore/packed/read_bytes.go | 4 +-- objectstore/packed/read_header.go | 2 +- objectstore/packed/read_header_resolve.go | 2 +- objectstore/packed/read_reader.go | 4 +-- objectstore/packed/read_size.go | 2 +- objecttype/name.go | 42 ------------------------ objecttype/objecttype.go | 16 --------- packfile/entry.go | 2 +- packfile/entry_header.go | 2 +- packfile/ingest/cache.go | 2 +- packfile/ingest/drain.go | 4 +-- packfile/ingest/entry.go | 2 +- packfile/ingest/entry_header.go | 2 +- packfile/ingest/entry_prefix.go | 2 +- packfile/ingest/hash.go | 4 +-- packfile/ingest/record_content.go | 2 +- packfile/ingest/record_delta.go | 2 +- packfile/ingest/record_resolve.go | 2 +- packfile/ingest/records.go | 2 +- packfile/ingest/thin_append.go | 2 +- packfile/ingest/thin_unresolved.go | 2 +- packfile/object_type.go | 2 +- reachability/helpers.go | 2 +- reachability/unit_test.go | 2 +- reachability/walk_expand_commits.go | 2 +- reachability/walk_expand_commits_graph.go | 2 +- reachability/walk_expand_objects.go | 2 +- reachability/walk_item.go | 2 +- reachability/walk_stack.go | 2 +- reachability/walk_verify.go | 2 +- repository/refs_test.go | 2 +- repository/write_loose_test.go | 2 +- 99 files changed, 243 insertions(+), 243 deletions(-) create mode 100644 object/header/append.go create mode 100644 object/header/encode.go create mode 100644 object/header/parse.go create mode 100644 object/type/name.go create mode 100644 object/type/objecttype.go delete mode 100644 objectheader/append.go delete mode 100644 objectheader/encode.go delete mode 100644 objectheader/parse.go delete mode 100644 objecttype/name.go delete mode 100644 objecttype/objecttype.go diff --git a/cmd/show-object/main.go b/cmd/show-object/main.go index 0da0c026..0eeebcc1 100644 --- a/cmd/show-object/main.go +++ b/cmd/show-object/main.go @@ -11,7 +11,7 @@ import ( "codeberg.org/lindenii/furgit/object" "codeberg.org/lindenii/furgit/object/stored" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" "codeberg.org/lindenii/furgit/repository" ) diff --git a/commitquery/ancestor_unit_test.go b/commitquery/ancestor_unit_test.go index 6edb05be..b7e52253 100644 --- a/commitquery/ancestor_unit_test.go +++ b/commitquery/ancestor_unit_test.go @@ -10,7 +10,7 @@ import ( "codeberg.org/lindenii/furgit/object" "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore/memory" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" "codeberg.org/lindenii/furgit/commitquery" ) diff --git a/commitquery/mergebase_unit_test.go b/commitquery/mergebase_unit_test.go index daa3c3c6..7f9c0b82 100644 --- a/commitquery/mergebase_unit_test.go +++ b/commitquery/mergebase_unit_test.go @@ -13,7 +13,7 @@ import ( "codeberg.org/lindenii/furgit/object" "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore/memory" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // commitBody serializes one minimal commit body. diff --git a/commitquery/oid.go b/commitquery/oid.go index 68adbf5d..e83d350c 100644 --- a/commitquery/oid.go +++ b/commitquery/oid.go @@ -9,7 +9,7 @@ import ( "codeberg.org/lindenii/furgit/object" "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) func (query *Query) id(idx nodeIndex) objectid.ObjectID { diff --git a/diff/trees/diff_test.go b/diff/trees/diff_test.go index 27d6b416..a6b51082 100644 --- a/diff/trees/diff_test.go +++ b/diff/trees/diff_test.go @@ -9,7 +9,7 @@ import ( "codeberg.org/lindenii/furgit/object" "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore/loose" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) func TestDiffComplexNestedChanges(t *testing.T) { diff --git a/errors/type.go b/errors/type.go index 82ca993a..ef80e482 100644 --- a/errors/type.go +++ b/errors/type.go @@ -4,7 +4,7 @@ import ( "fmt" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ObjectTypeError indicates that a referenced object has a different type than diff --git a/internal/peel/peel.go b/internal/peel/peel.go index a3e84b8d..c50b3d7b 100644 --- a/internal/peel/peel.go +++ b/internal/peel/peel.go @@ -8,7 +8,7 @@ import ( "codeberg.org/lindenii/furgit/object" "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ToCommit peels annotated tags transitively until a commit is reached. diff --git a/object/blob.go b/object/blob.go index bd26ed1d..8f607074 100644 --- a/object/blob.go +++ b/object/blob.go @@ -1,6 +1,6 @@ package object -import "codeberg.org/lindenii/furgit/objecttype" +import objecttype "codeberg.org/lindenii/furgit/object/type" // Blob represents a Git blob object. // diff --git a/object/blob_serialize.go b/object/blob_serialize.go index e9c0ac5e..2acc4c11 100644 --- a/object/blob_serialize.go +++ b/object/blob_serialize.go @@ -3,8 +3,8 @@ package object import ( "errors" - "codeberg.org/lindenii/furgit/objectheader" - "codeberg.org/lindenii/furgit/objecttype" + objectheader "codeberg.org/lindenii/furgit/object/header" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // SerializeWithoutHeader renders the raw blob body bytes. diff --git a/object/commit.go b/object/commit.go index 34e89033..214b9c99 100644 --- a/object/commit.go +++ b/object/commit.go @@ -2,7 +2,7 @@ package object import ( "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // Commit represents a Git commit object. diff --git a/object/commit_serialize.go b/object/commit_serialize.go index eef45ef4..ed81b1d6 100644 --- a/object/commit_serialize.go +++ b/object/commit_serialize.go @@ -5,8 +5,8 @@ import ( "errors" "fmt" - "codeberg.org/lindenii/furgit/objectheader" - "codeberg.org/lindenii/furgit/objecttype" + objectheader "codeberg.org/lindenii/furgit/object/header" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // SerializeWithoutHeader renders the raw commit body bytes. diff --git a/object/header/append.go b/object/header/append.go new file mode 100644 index 00000000..8c0d928c --- /dev/null +++ b/object/header/append.go @@ -0,0 +1,29 @@ +package objectheader + +import ( + "strconv" + + objecttype "codeberg.org/lindenii/furgit/object/type" +) + +// Append appends a canonical loose-object header ("type size\\x00") to dst. +func Append(dst []byte, ty objecttype.Type, size int64) ([]byte, bool) { + if size < 0 { + return nil, false + } + + tyName, ok := objecttype.Name(ty) + if !ok { + return nil, false + } + + sizeStr := strconv.FormatInt(size, 10) + out := make([]byte, 0, len(dst)+len(tyName)+len(sizeStr)+2) + out = append(out, dst...) + out = append(out, tyName...) + out = append(out, ' ') + out = append(out, sizeStr...) + out = append(out, 0) + + return out, true +} diff --git a/object/header/encode.go b/object/header/encode.go new file mode 100644 index 00000000..a03c1f05 --- /dev/null +++ b/object/header/encode.go @@ -0,0 +1,8 @@ +package objectheader + +import objecttype "codeberg.org/lindenii/furgit/object/type" + +// Encode returns a canonical loose-object header ("type size\\x00"). +func Encode(ty objecttype.Type, size int64) ([]byte, bool) { + return Append(nil, ty, size) +} diff --git a/object/header/parse.go b/object/header/parse.go new file mode 100644 index 00000000..3751cafc --- /dev/null +++ b/object/header/parse.go @@ -0,0 +1,43 @@ +// Package objectheader parses and serializes object headers ("type size\0"). +package objectheader + +import ( + "bytes" + "strconv" + + objecttype "codeberg.org/lindenii/furgit/object/type" +) + +// Parse parses a canonical loose-object header ("type size\\x00"). +// It returns the parsed type, size, bytes consumed (including trailing NUL), +// and whether parsing succeeded. +func Parse(data []byte) (objecttype.Type, int64, int, bool) { + space := bytes.IndexByte(data, ' ') + if space <= 0 { + return objecttype.TypeInvalid, 0, 0, false + } + + nulRel := bytes.IndexByte(data[space+1:], 0) + if nulRel < 0 { + return objecttype.TypeInvalid, 0, 0, false + } + + nul := space + 1 + nulRel + + ty, ok := objecttype.ParseName(string(data[:space])) + if !ok { + return objecttype.TypeInvalid, 0, 0, false + } + + sizeBytes := data[space+1 : nul] + if len(sizeBytes) == 0 { + return objecttype.TypeInvalid, 0, 0, false + } + + size, err := strconv.ParseInt(string(sizeBytes), 10, 64) + if err != nil || size < 0 { + return objecttype.TypeInvalid, 0, 0, false + } + + return ty, size, nul + 1, true +} diff --git a/object/object.go b/object/object.go index 9a402336..70d418df 100644 --- a/object/object.go +++ b/object/object.go @@ -2,7 +2,7 @@ // tag. package object -import "codeberg.org/lindenii/furgit/objecttype" +import objecttype "codeberg.org/lindenii/furgit/object/type" // Object is a Git object that can serialize itself. type Object interface { diff --git a/object/parse.go b/object/parse.go index 9afe5cb8..4a396517 100644 --- a/object/parse.go +++ b/object/parse.go @@ -3,9 +3,9 @@ package object import ( "fmt" - "codeberg.org/lindenii/furgit/objectheader" + objectheader "codeberg.org/lindenii/furgit/object/header" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ParseObjectWithHeader parses a loose object in "type size\x00body" format. diff --git a/object/resolve/exact_blob_reader.go b/object/resolve/exact_blob_reader.go index 760b7d90..5524dfcb 100644 --- a/object/resolve/exact_blob_reader.go +++ b/object/resolve/exact_blob_reader.go @@ -4,7 +4,7 @@ import ( "io" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ExactBlobReader returns a reader for the content of the blob at id, diff --git a/object/resolve/exact_commit_reader.go b/object/resolve/exact_commit_reader.go index b012c485..dc8a563a 100644 --- a/object/resolve/exact_commit_reader.go +++ b/object/resolve/exact_commit_reader.go @@ -4,7 +4,7 @@ import ( "io" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ExactCommitReader returns a reader for the content of the commit at id, diff --git a/object/resolve/exact_reader.go b/object/resolve/exact_reader.go index 10734f5f..0e7a6112 100644 --- a/object/resolve/exact_reader.go +++ b/object/resolve/exact_reader.go @@ -5,7 +5,7 @@ import ( "io" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // exactReader reads one object's content stream and verifies that its header diff --git a/object/resolve/exact_tag_reader.go b/object/resolve/exact_tag_reader.go index 2c057b02..d673237f 100644 --- a/object/resolve/exact_tag_reader.go +++ b/object/resolve/exact_tag_reader.go @@ -4,7 +4,7 @@ import ( "io" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ExactTagReader returns a reader for the content of the tag at id, diff --git a/object/resolve/exact_tree_reader.go b/object/resolve/exact_tree_reader.go index b66b3d3f..b4e34dd2 100644 --- a/object/resolve/exact_tree_reader.go +++ b/object/resolve/exact_tree_reader.go @@ -4,7 +4,7 @@ import ( "io" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ExactTreeReader returns a reader for the content of the tree at id, diff --git a/object/resolve/object_parse.go b/object/resolve/object_parse.go index 8b624c5d..bc814988 100644 --- a/object/resolve/object_parse.go +++ b/object/resolve/object_parse.go @@ -5,7 +5,7 @@ import ( "codeberg.org/lindenii/furgit/object" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) func (r *Resolver) parseObject(id objectid.ObjectID) (object.Object, error) { diff --git a/object/resolve/peel_to_blob_id.go b/object/resolve/peel_to_blob_id.go index d06fd675..3fcd9bc8 100644 --- a/object/resolve/peel_to_blob_id.go +++ b/object/resolve/peel_to_blob_id.go @@ -4,7 +4,7 @@ import ( "fmt" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // PeelToBlobID peels tags until it reaches a blob object ID. diff --git a/object/resolve/peel_to_commit_id.go b/object/resolve/peel_to_commit_id.go index 330e2a86..5d02ec1a 100644 --- a/object/resolve/peel_to_commit_id.go +++ b/object/resolve/peel_to_commit_id.go @@ -4,7 +4,7 @@ import ( "fmt" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // PeelToCommitID peels tags until it reaches a commit object ID. diff --git a/object/resolve/peel_to_tree_id.go b/object/resolve/peel_to_tree_id.go index 54891aa4..79730d4f 100644 --- a/object/resolve/peel_to_tree_id.go +++ b/object/resolve/peel_to_tree_id.go @@ -4,7 +4,7 @@ import ( "fmt" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // PeelToTreeID peels tags until it reaches a tree object ID, or a commit whose diff --git a/object/tag.go b/object/tag.go index 0da3e4a8..6b2c7eb1 100644 --- a/object/tag.go +++ b/object/tag.go @@ -2,7 +2,7 @@ package object import ( "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // Tag represents a Git annotated tag object. diff --git a/object/tag_parse.go b/object/tag_parse.go index c2fee81a..3def4101 100644 --- a/object/tag_parse.go +++ b/object/tag_parse.go @@ -6,7 +6,7 @@ import ( "fmt" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ParseTag decodes a tag object body. diff --git a/object/tag_parse_test.go b/object/tag_parse_test.go index 456d2f63..d360f3ef 100644 --- a/object/tag_parse_test.go +++ b/object/tag_parse_test.go @@ -7,7 +7,7 @@ import ( "codeberg.org/lindenii/furgit/internal/testgit" "codeberg.org/lindenii/furgit/object" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) func TestTagParseFromGit(t *testing.T) { diff --git a/object/tag_serialize.go b/object/tag_serialize.go index 1e016cdb..c914e8dd 100644 --- a/object/tag_serialize.go +++ b/object/tag_serialize.go @@ -5,8 +5,8 @@ import ( "errors" "fmt" - "codeberg.org/lindenii/furgit/objectheader" - "codeberg.org/lindenii/furgit/objecttype" + objectheader "codeberg.org/lindenii/furgit/object/header" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // SerializeWithoutHeader renders the raw tag body bytes. diff --git a/object/tree.go b/object/tree.go index ad4b8f34..2abd2914 100644 --- a/object/tree.go +++ b/object/tree.go @@ -6,7 +6,7 @@ import ( "sort" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // FileMode represents the mode of a file in a Git tree. diff --git a/object/tree_serialize.go b/object/tree_serialize.go index 42f60f72..849738a9 100644 --- a/object/tree_serialize.go +++ b/object/tree_serialize.go @@ -4,8 +4,8 @@ import ( "errors" "strconv" - "codeberg.org/lindenii/furgit/objectheader" - "codeberg.org/lindenii/furgit/objecttype" + objectheader "codeberg.org/lindenii/furgit/object/header" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // SerializeWithoutHeader renders the raw tree body bytes. diff --git a/object/type.go b/object/type.go index 70cc46bc..d44b83fa 100644 --- a/object/type.go +++ b/object/type.go @@ -1,6 +1,6 @@ package object -import "codeberg.org/lindenii/furgit/objecttype" +import objecttype "codeberg.org/lindenii/furgit/object/type" // TypeFor returns the Git object type for T when T is one of the standard // parsed object types. diff --git a/object/type/name.go b/object/type/name.go new file mode 100644 index 00000000..870ac1e4 --- /dev/null +++ b/object/type/name.go @@ -0,0 +1,42 @@ +package objecttype + +const ( + typeNameBlob = "blob" + typeNameTree = "tree" + typeNameCommit = "commit" + typeNameTag = "tag" +) + +// ParseName parses a canonical Git object type name. +func ParseName(name string) (Type, bool) { + switch name { + case typeNameBlob: + return TypeBlob, true + case typeNameTree: + return TypeTree, true + case typeNameCommit: + return TypeCommit, true + case typeNameTag: + return TypeTag, true + default: + return TypeInvalid, false + } +} + +// Name returns the canonical Git object type name. +func Name(ty Type) (string, bool) { + switch ty { + case TypeBlob: + return typeNameBlob, true + case TypeTree: + return typeNameTree, true + case TypeCommit: + return typeNameCommit, true + case TypeTag: + return typeNameTag, true + case TypeInvalid, TypeFuture, TypeOfsDelta, TypeRefDelta: + return "", false + default: + return "", false + } +} diff --git a/object/type/objecttype.go b/object/type/objecttype.go new file mode 100644 index 00000000..2e12dadc --- /dev/null +++ b/object/type/objecttype.go @@ -0,0 +1,16 @@ +// Package objecttype provides object type constants and names. +package objecttype + +// Type mirrors Git object type tags in packfiles. +type Type uint8 + +const ( + TypeInvalid Type = 0 + TypeCommit Type = 1 + TypeTree Type = 2 + TypeBlob Type = 3 + TypeTag Type = 4 + TypeFuture Type = 5 + TypeOfsDelta Type = 6 + TypeRefDelta Type = 7 +) diff --git a/objectheader/append.go b/objectheader/append.go deleted file mode 100644 index bfccf388..00000000 --- a/objectheader/append.go +++ /dev/null @@ -1,29 +0,0 @@ -package objectheader - -import ( - "strconv" - - "codeberg.org/lindenii/furgit/objecttype" -) - -// Append appends a canonical loose-object header ("type size\\x00") to dst. -func Append(dst []byte, ty objecttype.Type, size int64) ([]byte, bool) { - if size < 0 { - return nil, false - } - - tyName, ok := objecttype.Name(ty) - if !ok { - return nil, false - } - - sizeStr := strconv.FormatInt(size, 10) - out := make([]byte, 0, len(dst)+len(tyName)+len(sizeStr)+2) - out = append(out, dst...) - out = append(out, tyName...) - out = append(out, ' ') - out = append(out, sizeStr...) - out = append(out, 0) - - return out, true -} diff --git a/objectheader/encode.go b/objectheader/encode.go deleted file mode 100644 index 1cca968b..00000000 --- a/objectheader/encode.go +++ /dev/null @@ -1,8 +0,0 @@ -package objectheader - -import "codeberg.org/lindenii/furgit/objecttype" - -// Encode returns a canonical loose-object header ("type size\\x00"). -func Encode(ty objecttype.Type, size int64) ([]byte, bool) { - return Append(nil, ty, size) -} diff --git a/objectheader/parse.go b/objectheader/parse.go deleted file mode 100644 index 677dffdb..00000000 --- a/objectheader/parse.go +++ /dev/null @@ -1,43 +0,0 @@ -// Package objectheader parses and serializes object headers ("type size\0"). -package objectheader - -import ( - "bytes" - "strconv" - - "codeberg.org/lindenii/furgit/objecttype" -) - -// Parse parses a canonical loose-object header ("type size\\x00"). -// It returns the parsed type, size, bytes consumed (including trailing NUL), -// and whether parsing succeeded. -func Parse(data []byte) (objecttype.Type, int64, int, bool) { - space := bytes.IndexByte(data, ' ') - if space <= 0 { - return objecttype.TypeInvalid, 0, 0, false - } - - nulRel := bytes.IndexByte(data[space+1:], 0) - if nulRel < 0 { - return objecttype.TypeInvalid, 0, 0, false - } - - nul := space + 1 + nulRel - - ty, ok := objecttype.ParseName(string(data[:space])) - if !ok { - return objecttype.TypeInvalid, 0, 0, false - } - - sizeBytes := data[space+1 : nul] - if len(sizeBytes) == 0 { - return objecttype.TypeInvalid, 0, 0, false - } - - size, err := strconv.ParseInt(string(sizeBytes), 10, 64) - if err != nil || size < 0 { - return objecttype.TypeInvalid, 0, 0, false - } - - return ty, size, nul + 1, true -} diff --git a/objectstore/chain/bytes.go b/objectstore/chain/bytes.go index 64771608..f5e5ac6d 100644 --- a/objectstore/chain/bytes.go +++ b/objectstore/chain/bytes.go @@ -6,7 +6,7 @@ import ( "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ReadBytesFull reads a full serialized object from the first backend that has it. diff --git a/objectstore/chain/header.go b/objectstore/chain/header.go index 59f6bba6..6937d6f3 100644 --- a/objectstore/chain/header.go +++ b/objectstore/chain/header.go @@ -6,7 +6,7 @@ import ( "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ReadHeader reads object header data from the first backend that has it. diff --git a/objectstore/chain/reader.go b/objectstore/chain/reader.go index 41060a5b..2a19c6fb 100644 --- a/objectstore/chain/reader.go +++ b/objectstore/chain/reader.go @@ -7,7 +7,7 @@ import ( "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ReadReaderFull reads a full serialized object stream from the first backend that has it. diff --git a/objectstore/loose/helpers_test.go b/objectstore/loose/helpers_test.go index ab88c107..46e6d453 100644 --- a/objectstore/loose/helpers_test.go +++ b/objectstore/loose/helpers_test.go @@ -6,10 +6,10 @@ import ( "testing" "codeberg.org/lindenii/furgit/internal/testgit" - "codeberg.org/lindenii/furgit/objectheader" + objectheader "codeberg.org/lindenii/furgit/object/header" "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore/loose" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) func openLooseStore(t *testing.T, testRepo *testgit.TestRepo, algo objectid.Algorithm) *loose.Store { diff --git a/objectstore/loose/parse.go b/objectstore/loose/parse.go index 2a41e359..dfb420ba 100644 --- a/objectstore/loose/parse.go +++ b/objectstore/loose/parse.go @@ -7,8 +7,8 @@ import ( "os" "codeberg.org/lindenii/furgit/internal/compress/zlib" - "codeberg.org/lindenii/furgit/objectheader" - "codeberg.org/lindenii/furgit/objecttype" + objectheader "codeberg.org/lindenii/furgit/object/header" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // decodeAll inflates the full loose object payload from file. diff --git a/objectstore/loose/read_bytes.go b/objectstore/loose/read_bytes.go index 78e1009e..bff22e48 100644 --- a/objectstore/loose/read_bytes.go +++ b/objectstore/loose/read_bytes.go @@ -2,7 +2,7 @@ package loose import ( "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // readBytesParsed reads, inflates, and parses a loose object in one pass. diff --git a/objectstore/loose/read_header.go b/objectstore/loose/read_header.go index 0cd3273d..3d3d6b87 100644 --- a/objectstore/loose/read_header.go +++ b/objectstore/loose/read_header.go @@ -5,7 +5,7 @@ import ( "codeberg.org/lindenii/furgit/internal/compress/zlib" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ReadHeader reads an object's type and declared content length. diff --git a/objectstore/loose/read_reader.go b/objectstore/loose/read_reader.go index e6e130a5..c0a64fe7 100644 --- a/objectstore/loose/read_reader.go +++ b/objectstore/loose/read_reader.go @@ -10,7 +10,7 @@ import ( "codeberg.org/lindenii/furgit/internal/compress/zlib" "codeberg.org/lindenii/furgit/internal/iolimit" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) type objectReader struct { diff --git a/objectstore/loose/read_test.go b/objectstore/loose/read_test.go index 45392ddd..c1180f44 100644 --- a/objectstore/loose/read_test.go +++ b/objectstore/loose/read_test.go @@ -11,7 +11,7 @@ import ( "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore" "codeberg.org/lindenii/furgit/objectstore/loose" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) func TestLooseStoreReadAgainstGit(t *testing.T) { diff --git a/objectstore/loose/write_bytes.go b/objectstore/loose/write_bytes.go index 247173fb..4853ffb1 100644 --- a/objectstore/loose/write_bytes.go +++ b/objectstore/loose/write_bytes.go @@ -4,7 +4,7 @@ import ( "bytes" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // WriteBytesFull writes a full serialized object as "type size\0content". diff --git a/objectstore/loose/write_reader.go b/objectstore/loose/write_reader.go index 9dbf3818..f1a7d801 100644 --- a/objectstore/loose/write_reader.go +++ b/objectstore/loose/write_reader.go @@ -4,9 +4,9 @@ import ( "fmt" "io" - "codeberg.org/lindenii/furgit/objectheader" + objectheader "codeberg.org/lindenii/furgit/object/header" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // WriteReaderContent writes one loose object from typed content bytes read from src. diff --git a/objectstore/loose/write_test.go b/objectstore/loose/write_test.go index a7b12622..90cedbd6 100644 --- a/objectstore/loose/write_test.go +++ b/objectstore/loose/write_test.go @@ -5,9 +5,9 @@ import ( "testing" "codeberg.org/lindenii/furgit/internal/testgit" - "codeberg.org/lindenii/furgit/objectheader" + objectheader "codeberg.org/lindenii/furgit/object/header" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) func TestLooseStoreWriteReaderContentAgainstGit(t *testing.T) { diff --git a/objectstore/loose/write_writer_accept.go b/objectstore/loose/write_writer_accept.go index 707232ba..bf55966a 100644 --- a/objectstore/loose/write_writer_accept.go +++ b/objectstore/loose/write_writer_accept.go @@ -4,7 +4,7 @@ import ( "bytes" "errors" - "codeberg.org/lindenii/furgit/objectheader" + objectheader "codeberg.org/lindenii/furgit/object/header" ) // acceptFull validates and accounts raw full-object input. diff --git a/objectstore/memory/add.go b/objectstore/memory/add.go index 80d0022f..12781d7d 100644 --- a/objectstore/memory/add.go +++ b/objectstore/memory/add.go @@ -1,9 +1,9 @@ package memory import ( - "codeberg.org/lindenii/furgit/objectheader" + objectheader "codeberg.org/lindenii/furgit/object/header" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // AddObject stores one object body and returns its object ID. diff --git a/objectstore/memory/object.go b/objectstore/memory/object.go index 940af328..a85175c7 100644 --- a/objectstore/memory/object.go +++ b/objectstore/memory/object.go @@ -1,6 +1,6 @@ package memory -import "codeberg.org/lindenii/furgit/objecttype" +import objecttype "codeberg.org/lindenii/furgit/object/type" // storedObject is one in-memory object entry. type storedObject struct { diff --git a/objectstore/memory/read_bytes.go b/objectstore/memory/read_bytes.go index 31c5b3d1..15680a74 100644 --- a/objectstore/memory/read_bytes.go +++ b/objectstore/memory/read_bytes.go @@ -1,10 +1,10 @@ package memory import ( - "codeberg.org/lindenii/furgit/objectheader" + objectheader "codeberg.org/lindenii/furgit/object/header" "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ReadBytesFull reads one full object, including the object header. diff --git a/objectstore/memory/read_header.go b/objectstore/memory/read_header.go index 1d0aff15..07019654 100644 --- a/objectstore/memory/read_header.go +++ b/objectstore/memory/read_header.go @@ -3,7 +3,7 @@ package memory import ( "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ReadHeader reads one object header. diff --git a/objectstore/memory/read_reader.go b/objectstore/memory/read_reader.go index 2e3feda1..ad59246e 100644 --- a/objectstore/memory/read_reader.go +++ b/objectstore/memory/read_reader.go @@ -5,7 +5,7 @@ import ( "io" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ReadReaderFull reads one full object through a reader. diff --git a/objectstore/mix/bytes.go b/objectstore/mix/bytes.go index a251b892..d312eecd 100644 --- a/objectstore/mix/bytes.go +++ b/objectstore/mix/bytes.go @@ -6,7 +6,7 @@ import ( "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ReadBytesFull reads a full serialized object from one backend that has it. diff --git a/objectstore/mix/header.go b/objectstore/mix/header.go index 00b3ead7..d86c6733 100644 --- a/objectstore/mix/header.go +++ b/objectstore/mix/header.go @@ -6,7 +6,7 @@ import ( "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ReadHeader reads object header data from one backend that has it. diff --git a/objectstore/mix/reader.go b/objectstore/mix/reader.go index 33811611..b9227bb5 100644 --- a/objectstore/mix/reader.go +++ b/objectstore/mix/reader.go @@ -7,7 +7,7 @@ import ( "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ReadReaderFull reads a full serialized object stream from one backend that diff --git a/objectstore/objectstore.go b/objectstore/objectstore.go index c3de12a5..056669dc 100644 --- a/objectstore/objectstore.go +++ b/objectstore/objectstore.go @@ -6,7 +6,7 @@ import ( "io" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ErrObjectNotFound indicates that an object does not exist in a backend. diff --git a/objectstore/packed/delta_build_chain.go b/objectstore/packed/delta_build_chain.go index ece8018d..4f24b284 100644 --- a/objectstore/packed/delta_build_chain.go +++ b/objectstore/packed/delta_build_chain.go @@ -3,7 +3,7 @@ package packed import ( "fmt" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" packfmt "codeberg.org/lindenii/furgit/packfile" ) diff --git a/objectstore/packed/delta_cache.go b/objectstore/packed/delta_cache.go index 08040620..3bf3a035 100644 --- a/objectstore/packed/delta_cache.go +++ b/objectstore/packed/delta_cache.go @@ -2,7 +2,7 @@ package packed import ( "codeberg.org/lindenii/furgit/internal/lru" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) const defaultDeltaCacheMaxBytes = 32 << 20 diff --git a/objectstore/packed/delta_chain.go b/objectstore/packed/delta_chain.go index d473a25c..372e89cd 100644 --- a/objectstore/packed/delta_chain.go +++ b/objectstore/packed/delta_chain.go @@ -1,6 +1,6 @@ package packed -import "codeberg.org/lindenii/furgit/objecttype" +import objecttype "codeberg.org/lindenii/furgit/object/type" // deltaChain describes how to reconstruct one requested object. type deltaChain struct { diff --git a/objectstore/packed/delta_resolve_chain.go b/objectstore/packed/delta_resolve_chain.go index 04dca82e..f988a9fb 100644 --- a/objectstore/packed/delta_resolve_chain.go +++ b/objectstore/packed/delta_resolve_chain.go @@ -4,7 +4,7 @@ import ( "fmt" deltaapply "codeberg.org/lindenii/furgit/delta/apply" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // deltaResolveChain resolves one object chain into content bytes. diff --git a/objectstore/packed/delta_resolve_chain_start.go b/objectstore/packed/delta_resolve_chain_start.go index ce4ec0a1..08e2bf48 100644 --- a/objectstore/packed/delta_resolve_chain_start.go +++ b/objectstore/packed/delta_resolve_chain_start.go @@ -3,7 +3,7 @@ package packed import ( "fmt" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" packfmt "codeberg.org/lindenii/furgit/packfile" ) diff --git a/objectstore/packed/delta_resolve_content.go b/objectstore/packed/delta_resolve_content.go index ec4d7475..06fc4226 100644 --- a/objectstore/packed/delta_resolve_content.go +++ b/objectstore/packed/delta_resolve_content.go @@ -1,7 +1,7 @@ package packed import ( - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" packfmt "codeberg.org/lindenii/furgit/packfile" ) diff --git a/objectstore/packed/entry_parse.go b/objectstore/packed/entry_parse.go index f89bc2a2..93451ee0 100644 --- a/objectstore/packed/entry_parse.go +++ b/objectstore/packed/entry_parse.go @@ -5,7 +5,7 @@ import ( "codeberg.org/lindenii/furgit/internal/intconv" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" packfmt "codeberg.org/lindenii/furgit/packfile" ) diff --git a/objectstore/packed/helpers_test.go b/objectstore/packed/helpers_test.go index f07ff4e3..72c68d01 100644 --- a/objectstore/packed/helpers_test.go +++ b/objectstore/packed/helpers_test.go @@ -8,10 +8,10 @@ import ( "testing" "codeberg.org/lindenii/furgit/internal/testgit" - "codeberg.org/lindenii/furgit/objectheader" + objectheader "codeberg.org/lindenii/furgit/object/header" "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore/packed" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) func openPackedStore(t *testing.T, testRepo *testgit.TestRepo, algo objectid.Algorithm) *packed.Store { diff --git a/objectstore/packed/read_bytes.go b/objectstore/packed/read_bytes.go index e272b626..03ee3dae 100644 --- a/objectstore/packed/read_bytes.go +++ b/objectstore/packed/read_bytes.go @@ -3,9 +3,9 @@ package packed import ( "fmt" - "codeberg.org/lindenii/furgit/objectheader" + objectheader "codeberg.org/lindenii/furgit/object/header" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ReadBytesContent reads an object's type and content bytes. diff --git a/objectstore/packed/read_header.go b/objectstore/packed/read_header.go index 5070c98b..b0a84f23 100644 --- a/objectstore/packed/read_header.go +++ b/objectstore/packed/read_header.go @@ -2,7 +2,7 @@ package packed import ( "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // ReadHeader reads an object's type and declared content size. diff --git a/objectstore/packed/read_header_resolve.go b/objectstore/packed/read_header_resolve.go index 1e660e62..6fee720a 100644 --- a/objectstore/packed/read_header_resolve.go +++ b/objectstore/packed/read_header_resolve.go @@ -3,7 +3,7 @@ package packed import ( "fmt" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" packfmt "codeberg.org/lindenii/furgit/packfile" ) diff --git a/objectstore/packed/read_reader.go b/objectstore/packed/read_reader.go index 5c9ac8f4..8d990433 100644 --- a/objectstore/packed/read_reader.go +++ b/objectstore/packed/read_reader.go @@ -6,9 +6,9 @@ import ( "io" "codeberg.org/lindenii/furgit/internal/iolimit" - "codeberg.org/lindenii/furgit/objectheader" + objectheader "codeberg.org/lindenii/furgit/object/header" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" packfmt "codeberg.org/lindenii/furgit/packfile" ) diff --git a/objectstore/packed/read_size.go b/objectstore/packed/read_size.go index 4afa6fed..334d3ebf 100644 --- a/objectstore/packed/read_size.go +++ b/objectstore/packed/read_size.go @@ -4,7 +4,7 @@ import ( "fmt" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" packfmt "codeberg.org/lindenii/furgit/packfile" ) diff --git a/objecttype/name.go b/objecttype/name.go deleted file mode 100644 index 870ac1e4..00000000 --- a/objecttype/name.go +++ /dev/null @@ -1,42 +0,0 @@ -package objecttype - -const ( - typeNameBlob = "blob" - typeNameTree = "tree" - typeNameCommit = "commit" - typeNameTag = "tag" -) - -// ParseName parses a canonical Git object type name. -func ParseName(name string) (Type, bool) { - switch name { - case typeNameBlob: - return TypeBlob, true - case typeNameTree: - return TypeTree, true - case typeNameCommit: - return TypeCommit, true - case typeNameTag: - return TypeTag, true - default: - return TypeInvalid, false - } -} - -// Name returns the canonical Git object type name. -func Name(ty Type) (string, bool) { - switch ty { - case TypeBlob: - return typeNameBlob, true - case TypeTree: - return typeNameTree, true - case TypeCommit: - return typeNameCommit, true - case TypeTag: - return typeNameTag, true - case TypeInvalid, TypeFuture, TypeOfsDelta, TypeRefDelta: - return "", false - default: - return "", false - } -} diff --git a/objecttype/objecttype.go b/objecttype/objecttype.go deleted file mode 100644 index 2e12dadc..00000000 --- a/objecttype/objecttype.go +++ /dev/null @@ -1,16 +0,0 @@ -// Package objecttype provides object type constants and names. -package objecttype - -// Type mirrors Git object type tags in packfiles. -type Type uint8 - -const ( - TypeInvalid Type = 0 - TypeCommit Type = 1 - TypeTree Type = 2 - TypeBlob Type = 3 - TypeTag Type = 4 - TypeFuture Type = 5 - TypeOfsDelta Type = 6 - TypeRefDelta Type = 7 -) diff --git a/packfile/entry.go b/packfile/entry.go index 158cf9ce..0f9c7c8d 100644 --- a/packfile/entry.go +++ b/packfile/entry.go @@ -3,7 +3,7 @@ package packfile import ( "fmt" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // Entry is one parsed pack entry prefix, including any delta base reference diff --git a/packfile/entry_header.go b/packfile/entry_header.go index b7f8e79c..05664268 100644 --- a/packfile/entry_header.go +++ b/packfile/entry_header.go @@ -3,7 +3,7 @@ package packfile import ( "fmt" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // EntryHeader is one parsed pack entry header prefix. diff --git a/packfile/ingest/cache.go b/packfile/ingest/cache.go index 3b4bf31a..9a15f55f 100644 --- a/packfile/ingest/cache.go +++ b/packfile/ingest/cache.go @@ -2,7 +2,7 @@ package ingest import ( "codeberg.org/lindenii/furgit/internal/lru" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // deltaBaseCacheKey identifies one resolved base by record index. diff --git a/packfile/ingest/drain.go b/packfile/ingest/drain.go index ce04fcb4..d37c714e 100644 --- a/packfile/ingest/drain.go +++ b/packfile/ingest/drain.go @@ -5,9 +5,9 @@ import ( "io" "codeberg.org/lindenii/furgit/internal/compress/zlib" - "codeberg.org/lindenii/furgit/objectheader" + objectheader "codeberg.org/lindenii/furgit/object/header" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" packfmt "codeberg.org/lindenii/furgit/packfile" ) diff --git a/packfile/ingest/entry.go b/packfile/ingest/entry.go index 01be318d..da063e68 100644 --- a/packfile/ingest/entry.go +++ b/packfile/ingest/entry.go @@ -3,7 +3,7 @@ package ingest import ( "fmt" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" packfmt "codeberg.org/lindenii/furgit/packfile" ) diff --git a/packfile/ingest/entry_header.go b/packfile/ingest/entry_header.go index 54f63fac..c74fdc16 100644 --- a/packfile/ingest/entry_header.go +++ b/packfile/ingest/entry_header.go @@ -2,7 +2,7 @@ package ingest import ( "codeberg.org/lindenii/furgit/internal/intconv" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // encodePackEntryHeader encodes one non-delta packed entry header. diff --git a/packfile/ingest/entry_prefix.go b/packfile/ingest/entry_prefix.go index 85493798..f2da8c9c 100644 --- a/packfile/ingest/entry_prefix.go +++ b/packfile/ingest/entry_prefix.go @@ -5,7 +5,7 @@ import ( "codeberg.org/lindenii/furgit/internal/intconv" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // parseEntryPrefix parses one entry prefix from stream. diff --git a/packfile/ingest/hash.go b/packfile/ingest/hash.go index 83df55c5..bb8fd2b4 100644 --- a/packfile/ingest/hash.go +++ b/packfile/ingest/hash.go @@ -3,9 +3,9 @@ package ingest import ( "fmt" - "codeberg.org/lindenii/furgit/objectheader" + objectheader "codeberg.org/lindenii/furgit/object/header" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // hashCanonicalObject hashes canonical object bytes (header+content). diff --git a/packfile/ingest/record_content.go b/packfile/ingest/record_content.go index 05972b22..4109bc01 100644 --- a/packfile/ingest/record_content.go +++ b/packfile/ingest/record_content.go @@ -3,7 +3,7 @@ package ingest import ( "fmt" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" packfmt "codeberg.org/lindenii/furgit/packfile" ) diff --git a/packfile/ingest/record_delta.go b/packfile/ingest/record_delta.go index a28fcabc..f1637f5c 100644 --- a/packfile/ingest/record_delta.go +++ b/packfile/ingest/record_delta.go @@ -4,7 +4,7 @@ import ( "fmt" deltaapply "codeberg.org/lindenii/furgit/delta/apply" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // applyDeltaRecord applies one delta record onto base content. diff --git a/packfile/ingest/record_resolve.go b/packfile/ingest/record_resolve.go index 1eec1858..5bff18ab 100644 --- a/packfile/ingest/record_resolve.go +++ b/packfile/ingest/record_resolve.go @@ -3,7 +3,7 @@ package ingest import ( "fmt" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" packfmt "codeberg.org/lindenii/furgit/packfile" ) diff --git a/packfile/ingest/records.go b/packfile/ingest/records.go index 06b7f708..27150af6 100644 --- a/packfile/ingest/records.go +++ b/packfile/ingest/records.go @@ -2,7 +2,7 @@ package ingest import ( "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // objectRecord stores metadata for one packed object entry. diff --git a/packfile/ingest/thin_append.go b/packfile/ingest/thin_append.go index 161f00a9..c0883d81 100644 --- a/packfile/ingest/thin_append.go +++ b/packfile/ingest/thin_append.go @@ -7,7 +7,7 @@ import ( "codeberg.org/lindenii/furgit/internal/intconv" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // appendBaseObject appends one base object as a new packed non-delta entry. diff --git a/packfile/ingest/thin_unresolved.go b/packfile/ingest/thin_unresolved.go index 347f3f29..72433878 100644 --- a/packfile/ingest/thin_unresolved.go +++ b/packfile/ingest/thin_unresolved.go @@ -5,7 +5,7 @@ import ( "slices" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) // unresolvedThinBaseIDs returns sorted unique unresolved ref base IDs. diff --git a/packfile/object_type.go b/packfile/object_type.go index 559222ba..8382baa9 100644 --- a/packfile/object_type.go +++ b/packfile/object_type.go @@ -1,6 +1,6 @@ package packfile -import "codeberg.org/lindenii/furgit/objecttype" +import objecttype "codeberg.org/lindenii/furgit/object/type" // IsBaseObjectType reports whether ty is one of the four canonical object // types encoded directly in pack entries. diff --git a/reachability/helpers.go b/reachability/helpers.go index 02c3c726..ee69b0e7 100644 --- a/reachability/helpers.go +++ b/reachability/helpers.go @@ -7,7 +7,7 @@ import ( giterrors "codeberg.org/lindenii/furgit/errors" "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) func validateDomain(domain Domain) error { diff --git a/reachability/unit_test.go b/reachability/unit_test.go index 1a2f4773..640dad12 100644 --- a/reachability/unit_test.go +++ b/reachability/unit_test.go @@ -12,7 +12,7 @@ import ( "codeberg.org/lindenii/furgit/object" "codeberg.org/lindenii/furgit/objectid" "codeberg.org/lindenii/furgit/objectstore/memory" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" "codeberg.org/lindenii/furgit/reachability" ) diff --git a/reachability/walk_expand_commits.go b/reachability/walk_expand_commits.go index ac24be91..f02da944 100644 --- a/reachability/walk_expand_commits.go +++ b/reachability/walk_expand_commits.go @@ -5,7 +5,7 @@ import ( "codeberg.org/lindenii/furgit/errors" "codeberg.org/lindenii/furgit/object" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) func (walk *Walk) expandCommits(item walkItem) ([]walkItem, error) { diff --git a/reachability/walk_expand_commits_graph.go b/reachability/walk_expand_commits_graph.go index d56e302b..e31f8652 100644 --- a/reachability/walk_expand_commits_graph.go +++ b/reachability/walk_expand_commits_graph.go @@ -5,7 +5,7 @@ import ( commitgraphread "codeberg.org/lindenii/furgit/commitgraph/read" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) func (walk *Walk) expandCommitsFromGraph(id objectid.ObjectID) ([]walkItem, bool, error) { diff --git a/reachability/walk_expand_objects.go b/reachability/walk_expand_objects.go index 1f634c26..36e21745 100644 --- a/reachability/walk_expand_objects.go +++ b/reachability/walk_expand_objects.go @@ -5,7 +5,7 @@ import ( "codeberg.org/lindenii/furgit/errors" "codeberg.org/lindenii/furgit/object" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) func (walk *Walk) expandObjects(item walkItem) ([]walkItem, error) { diff --git a/reachability/walk_item.go b/reachability/walk_item.go index 7196cf1a..7b272e94 100644 --- a/reachability/walk_item.go +++ b/reachability/walk_item.go @@ -2,7 +2,7 @@ package reachability import ( "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) type walkItem struct { diff --git a/reachability/walk_stack.go b/reachability/walk_stack.go index 847ed1c0..0a5084df 100644 --- a/reachability/walk_stack.go +++ b/reachability/walk_stack.go @@ -1,6 +1,6 @@ package reachability -import "codeberg.org/lindenii/furgit/objecttype" +import objecttype "codeberg.org/lindenii/furgit/object/type" func (walk *Walk) initialStack() []walkItem { if len(walk.wants) == 0 { diff --git a/reachability/walk_verify.go b/reachability/walk_verify.go index 5b1b498d..a14ca267 100644 --- a/reachability/walk_verify.go +++ b/reachability/walk_verify.go @@ -4,7 +4,7 @@ import ( "codeberg.org/lindenii/furgit/errors" "codeberg.org/lindenii/furgit/object" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) func (walk *Walk) validateCommitObject(id objectid.ObjectID) error { diff --git a/repository/refs_test.go b/repository/refs_test.go index f9306d4a..bcd72269 100644 --- a/repository/refs_test.go +++ b/repository/refs_test.go @@ -5,7 +5,7 @@ import ( "codeberg.org/lindenii/furgit/internal/testgit" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" "codeberg.org/lindenii/furgit/ref" ) diff --git a/repository/write_loose_test.go b/repository/write_loose_test.go index 6b0a8572..c38dd553 100644 --- a/repository/write_loose_test.go +++ b/repository/write_loose_test.go @@ -6,7 +6,7 @@ import ( "codeberg.org/lindenii/furgit/internal/testgit" "codeberg.org/lindenii/furgit/objectid" - "codeberg.org/lindenii/furgit/objecttype" + objecttype "codeberg.org/lindenii/furgit/object/type" ) func TestWriteLooseBytesContent(t *testing.T) { -- cgit v1.3.1-10-gc9f91