aboutsummaryrefslogtreecommitdiff
path: root/pkg/service/git.go
diff options
context:
space:
mode:
authorGabriel A. Giovanini <mail@gabrielgio.me>2024-06-25 20:37:40 +0200
committerGabriel A. Giovanini <mail@gabrielgio.me>2024-06-25 20:37:40 +0200
commit907c13566c775ac1210bc66de99f7273e7c8a507 (patch)
treeb2c3f6a647441d452e8a5c119f7d00dd947b7dff /pkg/service/git.go
parent75d3ee252e7d966055bb76258d3e0da28488d261 (diff)
downloadcerrado-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.go19
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 {