从GitLab实例下载Git LFS文件



我正在处理一个项目,该项目需要从GitLab存储库下载一些文件。我正在开发一个自我管理的GitLab实例。

使用v4 API下载标准文件没有问题:

https://{instance}/api/v4/projects/:id/repository/files/:file_path/raw

另一方面,我正在努力下载LFS文件。LFS文件上使用的相同请求返回:

version https://git-lfs.github.com/spec/v1
oid sha256:{sha}
size {size}

我一直在努力遵循这个教程:

https://gist.github.com/fkraeutli/66fa741d9a8c2a6a238a01d17ed0edc5

但我被这个部分卡住了:

https://github.com/{organization}/{repository}.git/info/lfs/objects/batch

我不确定organizationrepository应该是什么。我也不确定这是否是正确的URL,因为我使用的是GitLab而不是GitHub。

如果有人遇到过类似的问题,我很乐意听到一些建议。干杯

下载过程随着GitLab 16.2(2023年7月(的发展而发展

提高Git LFS下载性能

对于在没有启用代理下载的情况下将LFS对象存储在对象存储中的实例,GitLab现在批量处理LFS请求。这大大提高了下载大量LFS对象的性能。

以前,由于LFS对象是如何提取的,GitLab创建了许多非常小的请求,这些请求检查用户权限并重定向到外部存储的对象。这有可能导致显著的负载和性能下降。

通过此修复,我们减少了主要GitLab实例的负载,并为用户提供了更快的下载体验。

请参阅文档和问题。

最新更新