【发布时间】:2021-05-23 01:00:37
【问题描述】:
我想将包含 LFS 文件的 gitlab 存储库从 gitlab 服务器 A 迁移到 gitlab 服务器 B。
这是我已经完成的步骤:
- 点击设置->常规->在gitlab服务器A的仓库中导出项目,然后下载导出的文件
repo.tar.gz。 - 使用
repo.tar.gz文件在服务器 B 中创建一个新的存储库。
上述步骤的问题是我无法下载服务器 B 中的 LFS 文件。
当我单击其中一个 LFS 文件的下载按钮时,我收到 404 Page Not Found 错误。
这是gitlab的bug吗?
我的 gitlab 版本是 12.5.2。
我可以成功下载服务器 A 中的 LFS 文件。
如果我使用git clone https://... 下载服务器 B 上的存储库,则会收到以下错误:
Cloning into 'repo-at-server-b'...
remote: Enumerating objects: 248971, done.
remote: Counting objects: 100% (248971/248971), done.
remote: Compressing objects: 100% (163634/163634), done.
remote: Total 248971 (delta 61741), reused 248971 (delta 61741)
Receiving objects: 100% (248971/248971), 1.60 GiB | 42.92 MiB/s, done.
Resolving deltas: 100% (61741/61741), done.
Checking out files: 100% (226626/226626), done.
Downloading lfs_files/art.tar.xz (7.0 MB)
Error downloading object: lfs_files/art.tar.xz (b0d6758): Smudge error: Error downloading lfs_files/art.tar.xz (b0d67582c9a992b4f8a01fdde0f96999385435b98763251e64520e263e76ac0d): [b0d67582c9a992b4f8a01fdde0f96999385435b98763251e64520e263e76ac0d] Object does not exist on the server or you don't have permissions to access it: [404] Object does not exist on the server or you don't have permissions to access it
Errors logged to /data-disk/debug_git_lfs/repo-at-server-b/.git/lfs/logs/20210220T110106.03414397.log
Use `git lfs logs last` to view the log.
error: external filter 'git-lfs filter-process' failed
fatal: lfs_files/art.tar.xz: smudge filter lfs failed
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'
从服务器 A 导出存储库或导入服务器 B 时似乎出现问题。
我尝试了the answer in this post,但在git lfs pull 命令失败。
我从git lfs pull 得到的错误信息是[c889004e16f35973ac3d695f7939e388060c425fd98d708e5076aefb67q15065] Object does not exist on the server or you don't have permissions to access it: [404] Object does not exist on the server or you don't have permissions to access it
【问题讨论】: