Changes
2 changed files (+32/-13)
-
-
@@ -104,19 +104,42 @@ func Open(path string, ref string) (*GitRepo, error) {return &g, nil } func (g *GitRepo) Commits() ([]*object.Commit, error) { type CommitsOptions struct { // Limit is maximum number of commits to retrieve. // 0 means no limit. Limit uint32 } func (g *GitRepo) Commits(opts CommitsOptions) ([]*object.Commit, error) { ci, err := g.r.Log(&git.LogOptions{From: g.h}) if err != nil { return nil, fmt.Errorf("commits from ref: %w", err) } commits := []*object.Commit{} ci.ForEach(func(c *object.Commit) error { commits = append(commits, c) return nil }) if opts.Limit > 0 { commits := make([]*object.Commit, 0, opts.Limit) return commits, nil for range opts.Limit { if next, err := ci.Next(); err != nil { if err != io.EOF { return nil, fmt.Errorf("log failure: %w", err) } } else { commits = append(commits, next) } } return commits, nil } else { commits := []*object.Commit{} ci.ForEach(func(c *object.Commit) error { commits = append(commits, c) return nil }) return commits, nil } } func (g *GitRepo) LastCommit() (*object.Commit, error) {
-
-
-
@@ -116,7 +116,7 @@ func (d *deps) RepoIndex(w http.ResponseWriter, r *http.Request) {return } commits, err := gr.Commits() commits, err := gr.Commits(git.CommitsOptions{Limit: 3}) if err != nil { d.Write500(w) log.Println(err)
-
@@ -159,10 +159,6 @@ func (d *deps) RepoIndex(w http.ResponseWriter, r *http.Request) {} } if len(commits) >= 3 { commits = commits[:3] } data := repoTopData{ Config: d.c, Meta: repositoryMeta{
-
@@ -457,7 +453,7 @@ func (d *deps) Log(w http.ResponseWriter, r *http.Request) {return } commits, err := gr.Commits() commits, err := gr.Commits(git.CommitsOptions{}) if err != nil { d.Write500(w) log.Println(err)
-