Subject: Re: Exec upload-pack on remote with what parameters to get direntries.

From: Junio C Hamano <[email-masked]>
Date: Mon, 30 Aug 2021 12:43:38 -0700

Jeff King <[email-masked]> writes:

> There is no operation to list the tree contents, for example, nor really
> even a good way to fetch a single object. The protocol is geared around
> efficiently transferring slices of history, so it is looking at sets of
> reachable objects (what the client is asking for, and what it claims to
> have).
>
> You might be able to cobble something together with shallow and partial
> fetches. E.g., something like:
>
>   git clone --depth 1 --filter=blob:none --single-branch -b $branch

I was hoping that our support for fetching a single object (not
necessarily a commit) at the protocol level was good enough, so that
Stef's fuse/nfs daemon can fetch the tree object it is interested
in.

There also is an effort, slowly moving to add verbs like object-info
to the protocol to help the vfs usecase, but primitives at too low a
level would be killed by latency, so it is somewhat unknown how
effective it would be.