我正在处理一个项目,该项目需要从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
我不确定organization
和repository
应该是什么。我也不确定这是否是正确的URL,因为我使用的是GitLab而不是GitHub。
如果有人遇到过类似的问题,我很乐意听到一些建议。干杯
下载过程随着GitLab 16.2(2023年7月(的发展而发展
提高Git LFS下载性能
对于在没有启用代理下载的情况下将LFS对象存储在对象存储中的实例,GitLab现在批量处理LFS请求。这大大提高了下载大量LFS对象的性能。
以前,由于LFS对象是如何提取的,GitLab创建了许多非常小的请求,这些请求检查用户权限并重定向到外部存储的对象。这有可能导致显著的负载和性能下降。
通过此修复,我们减少了主要GitLab实例的负载,并为用户提供了更快的下载体验。
请参阅文档和问题。