all repos — website @ 6c4a3268bc4c528ecff45f50ed5ca6aa1d48500c

My website

wip

Alan Pearce
commit

6c4a3268bc4c528ecff45f50ed5ca6aa1d48500c

parent

b4095d108a2646bcf9e7fff64788b10d9bce8da3

1 file changed, 21 insertions(+), 5 deletions(-)

changed files
M internal/vcs/repository.gointernal/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, + }) +}