git-lfs-migrate with Bitbucket 给出“/objects/batch 501(未实现)”

git-lfs-migrate with Bitbucket gives "/objects/batch 501 (Not Implemented)"

我正在尝试将我们的 Git 存储库迁移到 LFS,如下所示:

java -jar git-lfs-migrate.jar -s our-repo.git -d our-repo-small.git -l https://user:password@bitbucket.example.com/bitbucket/scm/example/our-repo.git "*.jar"

存储库启用了 LFS,但我得到:

[main] INFO git.lfs.migrate.Main - LFS server: Batch API request exception
ru.bozaro.gitlfs.client.exceptions.RequestException: https://user:password@bitbucket.example.com/bitbucket/scm/example/our-repo.git/objects/batch - 501 (Not Implemented)
        at ru.bozaro.gitlfs.client.Client.doRequest(Client.java:315)
        at ru.bozaro.gitlfs.client.Client.lambda$postBatch(Client.java:118)
        at ru.bozaro.gitlfs.client.Client.doWork(Client.java:252)
        at ru.bozaro.gitlfs.client.Client.postBatch(Client.java:118)
        at git.lfs.migrate.Main.checkLfsAuthenticate(Main.java:113)
        at git.lfs.migrate.Main.main(Main.java:66)
[main] ERROR git.lfs.migrate.Main - LFS server: Invalid base URL

我们使用的是 Bitbucket v4.6.2,但从那以后我在 Bitbucket 更新日志中找不到任何相关内容。

我是不是做错了什么?或者 git-lfs-migrate 是否使用了 Bitbucket 尚未实现的功能?如果是这样,是否有任何解决方法?我想我不是第一个这样做的人:-)

感谢 a comment in the git-lfs-migrate issue tracker:

我设法解决了这个问题
git clone --mirror ./path/to/repo.git
java -jar git-lfs-migrate.jar \ -s repo.git \ -d repo-converted.git \ "*.psd"
cd repo-converted.git
git fsck
git remote add origin https://github.com/user/repo-converted.git
git push origin master # (or git push --all origin)
git lfs push --all origin

基本上你只需在本地创建所有 LFS 文件,然后手动将它们推送到 LFS 服务器。

以下对我有用:

java -jar git-lfs-migrate.jar \
-s repo.git \
-d repo-converted.git \
-g https://usename:password@bitbucket.org/user/repo-converted.git \
"*.png"