diff options
| author | 2026-02-20 22:22:56 +0800 | |
|---|---|---|
| committer | 2026-02-20 22:27:13 +0800 | |
| commit | 98e5a64ce72e81dcede7dbebc74e22576a1f5ab8 (patch) | |
| tree | 0354081e3949292c202f8b481b584436da3f7452 /object/tag_serialize.go | |
| parent | objectheader: Add loose-object header parsing and emitting code (diff) | |
| signature | No signature | |
object: Use objectheader
Diffstat (limited to 'object/tag_serialize.go')
| -rw-r--r-- | object/tag_serialize.go | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/object/tag_serialize.go b/object/tag_serialize.go index bbc229c1..f9d754cf 100644 --- a/object/tag_serialize.go +++ b/object/tag_serialize.go @@ -4,10 +4,12 @@ import ( "bytes" "fmt" + "codeberg.org/lindenii/furgit/internal/objectheader" "codeberg.org/lindenii/furgit/objecttype" ) -func (tag *Tag) serialize() ([]byte, error) { +// SerializeWithoutHeader renders the raw tag body bytes. +func (tag *Tag) SerializeWithoutHeader() ([]byte, error) { if tag.Target.Size() == 0 { return nil, ErrInvalidObject } @@ -42,15 +44,15 @@ func (tag *Tag) serialize() ([]byte, error) { return buf.Bytes(), nil } -// Serialize renders the raw object (header + body). -func (tag *Tag) Serialize() ([]byte, error) { - body, err := tag.serialize() +// SerializeWithHeader renders the raw object (header + body). +func (tag *Tag) SerializeWithHeader() ([]byte, error) { + body, err := tag.SerializeWithoutHeader() if err != nil { return nil, err } - header, err := headerForType(objecttype.TypeTag, body) - if err != nil { - return nil, err + header, ok := objectheader.Encode(objecttype.TypeTag, int64(len(body))) + if !ok { + return nil, ErrInvalidObject } raw := make([]byte, len(header)+len(body)) copy(raw, header) |
