opendal icon indicating copy to clipboard operation
opendal copied to clipboard

feat(services/git): Add Git service with transparent LFS support

Open siomporas opened this issue 4 weeks ago • 0 comments

Which issue does this PR close?

Closes #6831.

Rationale for this change

OpenDAL has support for specific git service providers like HuggingFace, but not a generic git provider with LFS support. These changes provide generic git + LFS file streaming support using an OpenDAL service git.

What changes are included in this PR?

A new service git, documentation, and crate features for the new service.

Are there any user-facing changes?

A new service back end!

NOTE - I tested these changes pretty comprehensively on LFS repositories in my private Gitlab instance as well as on HuggingFace, both with and without credentials on private and public repositories, and I tested non-LFS repos as well including on Github.

I created a companion demo project here that bootstraps this particular version of OpenDAL using a git submodule, and provides a simple CLI tool to clone git repository states including LFS to the local file system to demonstrate the new service.

siomporas avatar Nov 29 '25 18:11 siomporas