···
securejoin "github.com/cyphar/filepath-securejoin"
"github.com/gliderlabs/ssh"
···
91
-
commits, err := gr.Commits(0, 60) // a good preview of commits in this repo
93
-
writeError(w, err.Error(), http.StatusInternalServerError)
94
-
l.Error("fetching commits", "error", err.Error())
93
+
commits []*object.Commit
95
+
branches []types.Branch
96
+
files []types.NiceTree
97
+
tags []*git.TagReference
100
+
var wg sync.WaitGroup
101
+
errorsCh := make(chan error, 5)
106
+
cs, err := gr.Commits(0, 60)
108
+
errorsCh <- fmt.Errorf("commits: %w", err)
117
+
t, err := gr.TotalCommits()
119
+
errorsCh <- fmt.Errorf("calculating total: %w", err)
128
+
bs, err := gr.Branches()
130
+
errorsCh <- fmt.Errorf("fetching branches: %w", err)
139
+
ts, err := gr.Tags()
141
+
errorsCh <- fmt.Errorf("fetching tags: %w", err)
150
+
fs, err := gr.FileTree(r.Context(), "")
152
+
errorsCh <- fmt.Errorf("fetching filetree: %w", err)
98
-
total, err := gr.TotalCommits()
100
-
writeError(w, err.Error(), http.StatusInternalServerError)
101
-
l.Error("fetching commits", "error", err.Error())
105
-
branches, err := gr.Branches()
107
-
l.Error("getting branches", "error", err.Error())
162
+
for err := range errorsCh {
163
+
l.Error("loading repo", "error", err.Error())
writeError(w, err.Error(), http.StatusInternalServerError)
112
-
tags, err := gr.Tags()
114
-
// Non-fatal, we *should* have at least one branch to show.
115
-
l.Warn("getting tags", "error", err.Error())
rtags := []*types.TagReference{}
···
readmeContent = string(content)
146
-
files, err := gr.FileTree(r.Context(), "")
148
-
writeError(w, err.Error(), http.StatusInternalServerError)
149
-
l.Error("file tree", "error", err.Error())