aboutsummaryrefslogtreecommitdiff
path: root/repository/traversal_helpers_test.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-02-21 21:56:38 +0800
committerGravatar Runxi Yu2026-02-21 21:56:38 +0800
commit52be24ec3be4290ad3be421a448907b0edcb368b (patch)
tree123eb5855fc105b63568c81dc8e841492519e9d7 /repository/traversal_helpers_test.go
parentrepository: Add full-traversal benchmark (diff)
signatureNo signature
repository: traverseTreeIter should use ReadHeader for blob size v0.1.27
Diffstat (limited to 'repository/traversal_helpers_test.go')
-rw-r--r--repository/traversal_helpers_test.go16
1 files changed, 10 insertions, 6 deletions
diff --git a/repository/traversal_helpers_test.go b/repository/traversal_helpers_test.go
index 09cd61bd..1f98fcc7 100644
--- a/repository/traversal_helpers_test.go
+++ b/repository/traversal_helpers_test.go
@@ -3,6 +3,7 @@ package repository_test
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 @@ func traverseTreeIter(repo *repository.Repository, root objectid.ObjectID) (int,
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
}