bidet

commit 34280ace9c8679ccf1b4943d1bdceeaa6f752e88

tree

parent:
ea3ad75a48086bec94087d2bd6722af3943eeb2c

nmyk <nick@nmyk.io>

2026-07-18T19:31:54-04:00

minor refactor, bugfix

diff --git a/internal/handlers/handlers.go b/internal/handlers/handlers.go
index cb60b2659979f86536294aa08cd86f4a14182d05..fddc67f4d7882b294d939ebc1df9a265e9eb775e 100644
--- a/internal/handlers/handlers.go
+++ b/internal/handlers/handlers.go
@@ -177,6 +177,26 @@ 	Annotation string
 	When       time.Time
 }
 
+func tagMeta(repo *core.Repo, ref *plumbing.Reference) (TagMeta, error) {
+	var t TagMeta
+	tagObj, err := repo.TagObject(ref.Hash())
+	switch err {
+	case nil:
+		t.Annotation = tagObj.Message
+		t.When = tagObj.Tagger.When
+	case plumbing.ErrObjectNotFound:
+		commit, err := repo.CommitObject(ref.Hash())
+		if err != nil {
+			return TagMeta{}, err
+		}
+		t.When = commit.Committer.When
+	default:
+		return TagMeta{}, err
+	}
+	t.Name = ref.Name().Short()
+	return t, nil
+}
+
 type RefsData struct {
 	Repo     string
 	Type     string
@@ -212,22 +232,10 @@ 		return
 	}
 	var tags []TagMeta
 	err = tagIter.ForEach(func(ref *plumbing.Reference) error {
-		var t TagMeta
-		tagObj, err := repo.TagObject(ref.Hash())
-		switch err {
-		case nil:
-			t.Annotation = tagObj.Message
-			t.When = tagObj.Tagger.When
-		case plumbing.ErrObjectNotFound:
-			commit, err := repo.CommitObject(ref.Hash())
-			if err != nil {
-				return err
-			}
-			t.When = commit.Committer.When
-		default:
+		t, err := tagMeta(repo, ref)
+		if err != nil {
 			return err
 		}
-		t.Name = ref.Name().Short()
 		tags = append(tags, t)
 		return nil
 	})
@@ -470,16 +478,17 @@ 	}
 	var (
 		parents []string
 		patch   string
-		i       int
 	)
+	first := true
 	iter := commit.Parents()
 	err = iter.ForEach(func(c *object.Commit) error {
-		if i == 0 {
+		if first {
 			p, err := c.Patch(commit)
 			if err != nil {
 				return err
 			}
 			patch = p.String()
+			first = false
 		}
 		parents = append(parents, string(c.Hash.String()))
 		return nil