From 30d1640bf47fcd14b1d26e8f5965bb61ae61859f Mon Sep 17 00:00:00 2001 From: Michael Muré Date: Tue, 28 Jul 2020 13:02:32 +0200 Subject: repository: some light shuffling of code --- repository/tree_entry.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'repository/tree_entry.go') diff --git a/repository/tree_entry.go b/repository/tree_entry.go index 8b3de8e2..6c5ec1a5 100644 --- a/repository/tree_entry.go +++ b/repository/tree_entry.go @@ -1,6 +1,7 @@ package repository import ( + "bytes" "fmt" "strings" ) @@ -68,3 +69,34 @@ func ParseObjectType(mode, objType string) (ObjectType, error) { return Unknown, fmt.Errorf("Unknown git object type %s %s", mode, objType) } } + +func prepareTreeEntries(entries []TreeEntry) bytes.Buffer { + var buffer bytes.Buffer + + for _, entry := range entries { + buffer.WriteString(entry.Format()) + } + + return buffer +} + +func readTreeEntries(s string) ([]TreeEntry, error) { + split := strings.Split(strings.TrimSpace(s), "\n") + + casted := make([]TreeEntry, len(split)) + for i, line := range split { + if line == "" { + continue + } + + entry, err := ParseTreeEntry(line) + + if err != nil { + return nil, err + } + + casted[i] = entry + } + + return casted, nil +} -- cgit