ref: 52be24ec3be4290ad3be421a448907b0edcb368b
parent: e6ee208f91acdc61f4e9ba2d9d450cce94477673
author: Runxi Yu <me@runxiyu.org>
date: Sat Feb 21 16:56:38 EST 2026
repository: traverseTreeIter should use ReadHeader for blob size
--- a/repository/traversal_helpers_test.go
+++ b/repository/traversal_helpers_test.go
@@ -3,6 +3,7 @@
import (
"codeberg.org/lindenii/furgit/object"
"codeberg.org/lindenii/furgit/objectid"
+ "codeberg.org/lindenii/furgit/objecttype"
"codeberg.org/lindenii/furgit/repository"
)
@@ -14,18 +15,21 @@
id := stack[len(stack)-1]
stack = stack[:len(stack)-1]
- stored, err := repo.ReadStored(id)
+ ty, _, err := repo.Objects().ReadHeader(id)
if err != nil {return 0, err
}
total++
-
- tree, ok := stored.Object().(*object.Tree)
- if !ok {+ if ty != objecttype.TypeTree {continue
}
- for i := len(tree.Entries) - 1; i >= 0; i-- {- entry := tree.Entries[i]
+
+ tree, err := repo.ReadStoredTree(id)
+ if err != nil {+ return 0, err
+ }
+ for i := len(tree.Tree().Entries) - 1; i >= 0; i-- {+ entry := tree.Tree().Entries[i]
if entry.Mode == object.FileModeGitlink {continue
}
--
⑨