git 只为 Gitlab 上的 LFS 文件克隆 sha CI
git only clones sha for LFS files on Gitlab CI
我将 .png
个文件推送到我的 gitlab.com 存储库,例如 repo_a
,每个文件大小为 2+MB,由 git-lfs
跟踪。在安装了 git-lfs
的另一个仓库 repo_b
上的 CI 作业中,克隆了 repo_a。现在我看到所有 .png 文件的大小都是 132,这似乎与 sha
输出的体积相同(如下。注意:为了隐私填充了一些值):
$ git show HEAD:file-a.png | tee sha_temp
version https://git-lfs.github.com/spec/v1
oid sha256:shashashaaaashashashaaaashashashaaaashashashaaaashashashaaaa
size 2430019
$ ls -l sha_temp
-rw-rw-r-- 1 crookednoodle crookednoodle 132 Nov 7 05:35 sha_temp
但是,在我的电脑上而不是在 Gitlab CI 上,当我 git clone
repo_a.
时,我可以看到原始文件
这让我觉得这些文件的内容仍然是指针,而不是原始文件。我还注意到在我的电脑上,我在输出中看到原始文件是这样下载的:
Downloading file-a.png (2.5 MB)
但我在 CI 作业的输出中没有看到这一点。
明显相关,后续用OpenCV打开图片的过程失败了。
怎么了?
设法自己解决(绕过)问题。在目标仓库中,我将 CI 脚本修改为 运行 git lfs pull
.
我将 .png
个文件推送到我的 gitlab.com 存储库,例如 repo_a
,每个文件大小为 2+MB,由 git-lfs
跟踪。在安装了 git-lfs
的另一个仓库 repo_b
上的 CI 作业中,克隆了 repo_a。现在我看到所有 .png 文件的大小都是 132,这似乎与 sha
输出的体积相同(如下。注意:为了隐私填充了一些值):
$ git show HEAD:file-a.png | tee sha_temp
version https://git-lfs.github.com/spec/v1
oid sha256:shashashaaaashashashaaaashashashaaaashashashaaaashashashaaaa
size 2430019
$ ls -l sha_temp
-rw-rw-r-- 1 crookednoodle crookednoodle 132 Nov 7 05:35 sha_temp
但是,在我的电脑上而不是在 Gitlab CI 上,当我 git clone
repo_a.
这让我觉得这些文件的内容仍然是指针,而不是原始文件。我还注意到在我的电脑上,我在输出中看到原始文件是这样下载的:
Downloading file-a.png (2.5 MB)
但我在 CI 作业的输出中没有看到这一点。
明显相关,后续用OpenCV打开图片的过程失败了。
怎么了?
设法自己解决(绕过)问题。在目标仓库中,我将 CI 脚本修改为 运行 git lfs pull
.