aboutsummaryrefslogtreecommitdiff
path: root/obj_tree.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2025-11-17 00:00:00 +0000
committerGravatar Runxi Yu2025-11-17 00:00:00 +0000
commitb277881419bff462c2c819e0a04e17d03c3032ff (patch)
tree4e14cd5ac3b5ff823f5b1aef2d02ecd4fa253cc7 /obj_tree.go
parentAdd a little bit more of documentation (diff)
signature
Make the internal serialize function a method instead
Diffstat (limited to 'obj_tree.go')
-rw-r--r--obj_tree.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/obj_tree.go b/obj_tree.go
index 689b3690..75634a87 100644
--- a/obj_tree.go
+++ b/obj_tree.go
@@ -108,16 +108,16 @@ func parseTree(id Hash, body []byte, repo *Repository) (*StoredTree, error) {
}
// treeBody builds the entry list for a tree without the Git header.
-func treeBody(t *Tree) []byte {
+func (tree *Tree) serialize() []byte {
var bodyLen int
- for _, e := range t.Entries {
+ for _, e := range tree.Entries {
mode := strconv.FormatUint(uint64(e.Mode), 8)
bodyLen += len(mode) + 1 + len(e.Name) + 1 + e.ID.size
}
body := make([]byte, bodyLen)
pos := 0
- for _, e := range t.Entries {
+ for _, e := range tree.Entries {
mode := strconv.FormatUint(uint64(e.Mode), 8)
pos += copy(body[pos:], []byte(mode))
body[pos] = ' '
@@ -134,7 +134,7 @@ func treeBody(t *Tree) []byte {
// Serialize renders the tree into its raw byte representation,
// including the header (i.e., "type size\0").
func (tree *Tree) Serialize() ([]byte, error) {
- body := treeBody(tree)
+ body := tree.serialize()
header, err := headerForType(ObjectTypeTree, body)
if err != nil {
return nil, err