wip
1 file changed, 21 insertions(+), 5 deletions(-)
changed files
M internal/vcs/repository.go → internal/vcs/repository.go
@@ -6,6 +6,7 @@ "website/internal/config" "website/internal/log" "github.com/go-git/go-git/v5" + "github.com/go-git/go-git/v5/plumbing/object" "github.com/pkg/errors" )@@ -28,14 +29,12 @@ if err != nil { if !errors.Is(err, git.ErrRepositoryAlreadyExists) { return nil, err } - gr, err = git.PlainOpen(cfg.LocalPath) + repo, err := Open(cfg.LocalPath) if err != nil { return nil, err } - repo := &Repository{ - repo: gr, - } - _, err := repo.Update(cfg) + + _, err = repo.Update(cfg) if err != nil { return nil, err }@@ -43,6 +42,16 @@ return repo, nil } + return &Repository{ + repo: gr, + }, nil +} + +func Open(path string) (*Repository, error) { + gr, err := git.PlainOpen(path) + if err != nil { + return nil, err + } return &Repository{ repo: gr, }, nil@@ -101,3 +110,10 @@ } return nil } + +func (r *Repository) FileLog(filename string) (object.CommitIter, error) { + return r.repo.Log(&git.LogOptions{ + Order: git.LogOrderCommitterTime, + FileName: &filename, + }) +}