Support GVFS (Git Virtual File System) v1 protocol
Microsoft has built a new Git Virtual File System to support working with very big repos. GVFS allows for driver level just-in-time downloading of files as they are needed rather than downloading the whole repo upfront. GitLab should implement the GVFS Protocol so that Windows users can benefit from GVFS.
Note: GVFS is not yet available for Mac or Linux.
Proposal
Add support to GitLab for GVFS v1 protocol:
-
GET /gvfs/objects/{objectId}
- Provides a single object in loose-object format
-
POST /gvfs/objects
- Provides one or more objects in packfile or streaming loose object format
-
GET /gvfs/prefetch[?lastPackTimestamp={secondsSinceEpoch}]
- Provides one or more packfiles of non-blobs and optionally packfile indexes in a streaming format
-
POST /gvfs/sizes
- Provides the uncompressed, undeltified size of one or more objects
-
GET /gvfs/config
- Provides server-set client configuration options
Not in scope: adding support to GVFS for Linux or Mac. See https://github.com/Microsoft/GVFS/issues/4
Links
Edited by James Ramsay (ex-GitLab)