+11
-2
knotserver/git/git.go
+11
-2
knotserver/git/git.go
···
128
commits := []*object.Commit{}
129
130
output, err := g.revList(
131
fmt.Sprintf("--skip=%d", offset),
132
fmt.Sprintf("--max-count=%d", limit),
133
)
···
153
154
func (g *GitRepo) TotalCommits() (int, error) {
155
output, err := g.revList(
156
fmt.Sprintf("--count"),
157
)
158
if err != nil {
···
170
func (g *GitRepo) revList(extraArgs ...string) ([]byte, error) {
171
var args []string
172
args = append(args, "rev-list")
173
-
args = append(args, g.h.String())
174
args = append(args, extraArgs...)
175
176
cmd := exec.Command("git", args...)
177
cmd.Dir = g.path
178
179
-
return cmd.Output()
180
}
181
182
func (g *GitRepo) Commit(h plumbing.Hash) (*object.Commit, error) {
···
128
commits := []*object.Commit{}
129
130
output, err := g.revList(
131
+
g.h.String(),
132
fmt.Sprintf("--skip=%d", offset),
133
fmt.Sprintf("--max-count=%d", limit),
134
)
···
154
155
func (g *GitRepo) TotalCommits() (int, error) {
156
output, err := g.revList(
157
+
g.h.String(),
158
fmt.Sprintf("--count"),
159
)
160
if err != nil {
···
172
func (g *GitRepo) revList(extraArgs ...string) ([]byte, error) {
173
var args []string
174
args = append(args, "rev-list")
175
args = append(args, extraArgs...)
176
177
cmd := exec.Command("git", args...)
178
cmd.Dir = g.path
179
180
+
out, err := cmd.Output()
181
+
if err != nil {
182
+
if exitErr, ok := err.(*exec.ExitError); ok {
183
+
return nil, fmt.Errorf("%w, stderr: %s", err, string(exitErr.Stderr))
184
+
}
185
+
return nil, err
186
+
}
187
+
188
+
return out, nil
189
}
190
191
func (g *GitRepo) Commit(h plumbing.Hash) (*object.Commit, error) {