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}