diff options
| author | 2026-02-21 21:56:38 +0800 | |
|---|---|---|
| committer | 2026-02-21 21:56:38 +0800 | |
| commit | 52be24ec3be4290ad3be421a448907b0edcb368b (patch) | |
| tree | 123eb5855fc105b63568c81dc8e841492519e9d7 /repository | |
| parent | repository: Add full-traversal benchmark (diff) | |
| signature | No signature | |
repository: traverseTreeIter should use ReadHeader for blob size v0.1.27
Diffstat (limited to 'repository')
| -rw-r--r-- | repository/traversal_helpers_test.go | 16 |
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 } |
