diff options
| author | 2025-11-17 00:00:00 +0000 | |
|---|---|---|
| committer | 2025-11-17 00:00:00 +0000 | |
| commit | b277881419bff462c2c819e0a04e17d03c3032ff (patch) | |
| tree | 4e14cd5ac3b5ff823f5b1aef2d02ecd4fa253cc7 | |
| parent | Add a little bit more of documentation (diff) | |
| signature | ||
Make the internal serialize function a method instead
| -rw-r--r-- | obj_commit.go | 14 | ||||
| -rw-r--r-- | obj_tag.go | 20 | ||||
| -rw-r--r-- | obj_tree.go | 8 |
3 files changed, 21 insertions, 21 deletions
diff --git a/obj_commit.go b/obj_commit.go index 524ef7bd..c3763073 100644 --- a/obj_commit.go +++ b/obj_commit.go @@ -112,28 +112,28 @@ func parseCommit(id Hash, body []byte, repo *Repository) (*StoredCommit, error) return c, nil } -func commitBody(c *Commit) ([]byte, error) { +func (commit *Commit) serialize() ([]byte, error) { var buf bytes.Buffer - fmt.Fprintf(&buf, "tree %s\n", c.Tree.String()) - for _, p := range c.Parents { + fmt.Fprintf(&buf, "tree %s\n", commit.Tree.String()) + for _, p := range commit.Parents { fmt.Fprintf(&buf, "parent %s\n", p.String()) } buf.WriteString("author ") - ab, err := c.Author.Serialize() + ab, err := commit.Author.Serialize() if err != nil { return nil, err } buf.Write(ab) buf.WriteByte('\n') buf.WriteString("committer ") - cb, err := c.Committer.Serialize() + cb, err := commit.Committer.Serialize() if err != nil { return nil, err } buf.Write(cb) buf.WriteByte('\n') buf.WriteByte('\n') - buf.Write(c.Message) + buf.Write(commit.Message) return buf.Bytes(), nil } @@ -141,7 +141,7 @@ func commitBody(c *Commit) ([]byte, error) { // Serialize renders the commit into its raw byte representation, // including the header (i.e., "type size\0"). func (commit *Commit) Serialize() ([]byte, error) { - body, err := commitBody(commit) + body, err := commit.serialize() if err != nil { return nil, err } @@ -114,11 +114,11 @@ func parseTag(id Hash, body []byte, repo *Repository) (*StoredTag, error) { return t, nil } -func tagBody(t *Tag) ([]byte, error) { +func (tag *Tag) serialize() ([]byte, error) { var buf bytes.Buffer - fmt.Fprintf(&buf, "object %s\n", t.Target.String()) + fmt.Fprintf(&buf, "object %s\n", tag.Target.String()) buf.WriteString("type ") - switch t.TargetType { + switch tag.TargetType { case ObjectTypeCommit: buf.WriteString("commit") case ObjectTypeTree: @@ -128,17 +128,17 @@ func tagBody(t *Tag) ([]byte, error) { case ObjectTypeTag: buf.WriteString("tag") case ObjectTypeInvalid, ObjectTypeFuture, ObjectTypeOfsDelta, ObjectTypeRefDelta: - return nil, fmt.Errorf("furgit: tag: invalid target type %d", t.TargetType) + return nil, fmt.Errorf("furgit: tag: invalid target type %d", tag.TargetType) default: - return nil, fmt.Errorf("furgit: tag: invalid target type %d", t.TargetType) + return nil, fmt.Errorf("furgit: tag: invalid target type %d", tag.TargetType) } buf.WriteByte('\n') buf.WriteString("tag ") - buf.Write(t.Name) + buf.Write(tag.Name) buf.WriteByte('\n') - if t.Tagger != nil { + if tag.Tagger != nil { buf.WriteString("tagger ") - tb, err := t.Tagger.Serialize() + tb, err := tag.Tagger.Serialize() if err != nil { return nil, err } @@ -146,7 +146,7 @@ func tagBody(t *Tag) ([]byte, error) { buf.WriteByte('\n') } buf.WriteByte('\n') - buf.Write(t.Message) + buf.Write(tag.Message) return buf.Bytes(), nil } @@ -154,7 +154,7 @@ func tagBody(t *Tag) ([]byte, error) { // Serialize renders the tag into its raw byte representation, // including the header (i.e., "type size\0"). func (tag *Tag) Serialize() ([]byte, error) { - body, err := tagBody(tag) + body, err := tag.serialize() if err != nil { return nil, err } 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 |
