diff options
author | Michael Muré <batolettre@gmail.com> | 2020-07-28 13:02:32 +0200 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2020-09-29 20:42:21 +0200 |
commit | 30d1640bf47fcd14b1d26e8f5965bb61ae61859f (patch) | |
tree | 3217777573dff5eee3174b1fc7a0cc52f3bfe5b8 /repository/tree_entry.go | |
parent | 3ecbf8db28105d147340b80d65a5a6d537233135 (diff) | |
download | git-bug-30d1640bf47fcd14b1d26e8f5965bb61ae61859f.tar.gz git-bug-30d1640bf47fcd14b1d26e8f5965bb61ae61859f.zip |
repository: some light shuffling of code
Diffstat (limited to 'repository/tree_entry.go')
-rw-r--r-- | repository/tree_entry.go | 32 |
1 files changed, 32 insertions, 0 deletions
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 +} |