1package git
 2
 3import (
 4	"errors"
 5
 6	"github.com/charmbracelet/soft-serve/git"
 7)
 8
 9var ErrMissingRepo = errors.New("missing repo")
10
11type GitRepo interface {
12	Name() string
13	Readme() (string, string)
14	HEAD() (*git.Reference, error)
15	CommitsByPage(*git.Reference, int, int) (git.Commits, error)
16	CountCommits(*git.Reference) (int64, error)
17	Diff(*git.Commit) (*git.Diff, error)
18	References() ([]*git.Reference, error)
19	Tree(*git.Reference, string) (*git.Tree, error)
20}
21
22type GitRepoSource interface {
23	GetRepo(string) (GitRepo, error)
24	AllRepos() []GitRepo
25}