gpt4 book ai didi

git svn fetch 在 bfg 清理后给出 "Invalid revision range" "error: 128"

转载 作者:行者123 更新时间:2023-12-05 05:22:26 58 4
gpt4 key购买 nike

我有一个 Git 存储库正在使用 git-svn 从 SVN 迁移。我使用 git svn fetch 从 SVN 获取最新的提交。我想将 repo 推送到 GitHub,但历史记录中有一些文件大于 100 MB that I had to remove , 所以我用了 bfg repo cleaner摆脱他们。

$ java -jar bfg-1.12.14.jar --strip-blobs-bigger-than 100M
...
In total, 10235 object ids were changed. Full details are logged here:
...
BFG run is complete! When ready, run: git reflog expire --expire=now --all && git gc --prune=now --aggressive
...
$ git reflog expire --expire=now --all && git gc --prune=now --aggressive
Counting objects: 204963, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (171827/171827), done.
Writing objects: 100% (204963/204963), done.
Total 204963 (delta 91547), reused 106805 (delta 0)

$ git svn fetch -A authors-transform.txt
fatal: Invalid revision range b156a7b66be002c3bf38987ea503f5c852146343
rev-list --pretty=raw --reverse b156a7b66be002c3bf38987ea503f5c852146343..refs/remotes/git-svn --: command returned error: 128

我怎样才能在不重新初始化整个存储库的情况下让它工作,因为我不希望这些文件再次出现在历史记录中(它们超出了 GitHub 的限制)?有什么方法可以重新计算哈希值或使其忽略不匹配?

最佳答案

虽然 git-svn 为 Git 提供了相当不错的 Subversion 镜像支持,但您无法将其与 BFG 等历史重写清理工具结合使用。

如果您需要清理存储库,您应该考虑完成从 Subversion 到 Git 的迁移,编写转换和迁移脚本,并转移到 Git 优先提交并同时放弃 Subversion 存储库,此时您不再关心 git-svn 了。您会发现清理 Subversion 历史非常困难,并且不可能将清理过的 Subversion 和清理过 BFG 的 Git 相互联系起来。正如您已经观察到的,git-svn 不会容忍重写。

将您的 BFG 清理计划为一次性练习,根据您正在进行的 git-svn 提取编写脚本和测试,但一旦运行,就完全停止使用 Subversion 并仅使用 Git。

关于git svn fetch 在 bfg 清理后给出 "Invalid revision range" "error: 128",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40529309/

58 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com