Consider introducing a new RPC to list blobs with file paths when --missing
flag is introduced for git rev-list
Overview
In order to obtain the file path for a list of blobs, we currently have to either:
- Use
ListAllBlobs()
,ListAllCommits()
, andGetTreeEntries()
as described in this comment. - Use
ListAllBlobs()
together withListBlobs()
as described in this comment.
Which isn't optimal, and has serious performance implications as discussed in the thread.
However, with the introduction of Git v2.44
, a new --missing
flag will become available for git rev-list
command, which allows git to discard missing commits during a walk/traversal. This issue is used to track the effort of adding the new RPC when Git v2.44
becomes available based on this command:
git rev-list --objects --filter=object:type=blob --filter-provided-objects --missing=allow-any --stdin <new_commits
Edited by Ahmed Hemdan