diff options
author | Gabriel A. Giovanini <mail@gabrielgio.me> | 2024-06-25 20:37:40 +0200 |
---|---|---|
committer | Gabriel A. Giovanini <mail@gabrielgio.me> | 2024-06-25 20:37:40 +0200 |
commit | 907c13566c775ac1210bc66de99f7273e7c8a507 (patch) | |
tree | b2c3f6a647441d452e8a5c119f7d00dd947b7dff /pkg/service/git.go | |
parent | 75d3ee252e7d966055bb76258d3e0da28488d261 (diff) | |
download | cerrado-907c13566c775ac1210bc66de99f7273e7c8a507.tar.gz cerrado-907c13566c775ac1210bc66de99f7273e7c8a507.tar.bz2 cerrado-907c13566c775ac1210bc66de99f7273e7c8a507.zip |
feat: Add commit page
Diffstat (limited to 'pkg/service/git.go')
-rw-r--r-- | pkg/service/git.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/pkg/service/git.go b/pkg/service/git.go index 1d21204..df4e3aa 100644 --- a/pkg/service/git.go +++ b/pkg/service/git.go @@ -94,6 +94,25 @@ func (g *GitService) ListCommits(name, ref string, count int) ([]*object.Commit, return repo.Commits(count) } +func (g *GitService) LastCommit(name, ref string) (*object.Commit, error) { + r := g.configRepo.GetByName(name) + if r == nil { + return nil, ErrRepositoryNotFound + } + + repo, err := git.OpenRepository(r.Path) + if err != nil { + return nil, err + } + + err = repo.SetRef(ref) + if err != nil { + return nil, err + } + + return repo.LastCommit() +} + func (g *GitService) WriteTarGZip(w io.Writer, name, ref string, prefix string) error { r := g.configRepo.GetByName(name) if r == nil { |