diff options
Diffstat (limited to 'modules/git/tree.go')
-rw-r--r-- | modules/git/tree.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/git/tree.go b/modules/git/tree.go index 03152c34..be77bfce 100644 --- a/modules/git/tree.go +++ b/modules/git/tree.go @@ -51,6 +51,8 @@ func parseTreeData(tree *Tree, data []byte) ([]*TreeEntry, error) { case "160000": entry.mode = ModeCommit entry.Type = COMMIT + + step = 8 case "040000": entry.mode = ModeTree entry.Type = TREE @@ -107,9 +109,12 @@ func (t *Tree) ListEntries(relpath string) (Entries, error) { } t.entriesParsed = true - stdout, _, err := com.ExecCmdDirBytes(t.repo.Path, + stdout, stderr, err := com.ExecCmdDirBytes(t.repo.Path, "git", "ls-tree", t.Id.String()) if err != nil { + if strings.Contains(err.Error(), "exit status 128") { + return nil, errors.New(strings.TrimSpace(string(stderr))) + } return nil, err } t.entries, err = parseTreeData(t, stdout) |