diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2022-10-08 01:20:53 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-08 01:20:53 +0800 |
commit | c08e42c47ef2a32b3b7ee422c73d6929c93b199e (patch) | |
tree | 7425d3fa27e7ac65de4f251ed22db1511b21adc4 /modules/git/tree_gogit.go | |
parent | 69fc510d6dcf9cda7993eae8cd5c7725b345a9a1 (diff) | |
download | gitea-c08e42c47ef2a32b3b7ee422c73d6929c93b199e.tar.gz gitea-c08e42c47ef2a32b3b7ee422c73d6929c93b199e.zip |
Refactor parseTreeEntries, speed up tree list (#21368)
Close #20315 (fix the panic when parsing invalid input), Speed up #20231 (use ls-tree without size field)
Introduce ListEntriesRecursiveFast (ls-tree without size) and ListEntriesRecursiveWithSize (ls-tree with size)
Diffstat (limited to 'modules/git/tree_gogit.go')
-rw-r--r-- | modules/git/tree_gogit.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/modules/git/tree_gogit.go b/modules/git/tree_gogit.go index 54f8e140fb..480c5e44da 100644 --- a/modules/git/tree_gogit.go +++ b/modules/git/tree_gogit.go @@ -57,8 +57,8 @@ func (t *Tree) ListEntries() (Entries, error) { return entries, nil } -// ListEntriesRecursive returns all entries of current tree recursively including all subtrees -func (t *Tree) ListEntriesRecursive() (Entries, error) { +// ListEntriesRecursiveWithSize returns all entries of current tree recursively including all subtrees +func (t *Tree) ListEntriesRecursiveWithSize() (Entries, error) { if t.gogitTree == nil { err := t.loadTreeObject() if err != nil { @@ -92,3 +92,8 @@ func (t *Tree) ListEntriesRecursive() (Entries, error) { return entries, nil } + +// ListEntriesRecursiveFast is the alias of ListEntriesRecursiveWithSize for the gogit version +func (t *Tree) ListEntriesRecursiveFast() (Entries, error) { + return t.ListEntriesRecursiveWithSize() +} |