Bring back Rugged implementation of commit_tree_entry
This brings back some of the changes in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/20176/diffs.
We discovered another N+1 that hits Gitaly TreeEntry
via the RelativeLinkFilter
: https://gitlab.com/gitlab-org/gitlab-ce/issues/58657. When a blob is loaded with many relative links, TreeEntry
is called for each link to scan the URI type.
There are multiple paths that hit Gitaly TreeEntry
, and https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/25706 did not cover all
cases. This merge request covers another common use case.
For users using Gitaly on top of NFS, accessing the Git data directly
via Rugged may be faster than going through than Gitaly. This merge request introduces
the feature flag rugged_commit_tree_entry
to activate the Rugged method.