gpt4 book ai didi

svn - 加快初始 git-svn 获取

转载 作者:IT王子 更新时间:2023-10-29 00:53:44 24 4
gpt4 key购买 nike

我有一个很大的存储库,有 100,000 多个修订,分支因子非常高。使用 git-svn 的完整 SVN 存储库的初始获取已经运行了大约 2 个月,而且它只达到了 60,000 个修订版。有什么办法可以加快速度吗?

由于 git-svn 像筛子一样泄漏内存,我已经定期终止并重新启动提取。传输是通过本地 LAN 进行的,因此链接速度应该不是问题。存储库位于由专用光纤 channel 阵列支持的专用机器上,因此服务器应该有足够的活力。我唯一能想到的另一件事是从 SVN 存储库的本地副本进行克隆。

其他人在类似情况下做了什么?

最佳答案

在工作中,我对 ~170000 修订版 SVN 存储库使用 git-svn。我所做的是使用 git-svn init + git-svn fetch -r... 将我的初始提取限制为合理数量的修订。您必须小心选择实际位于您想要的分支中的修订版。即使有被截断的历史记录,一切都可以正常运行 except git-blame,这显然将所有早于您的起始版本的行归因于第一个版本。

您可以使用 ignore-paths 来进一步加快速度,以修剪掉您不需要的子树。

您可以稍后添加更多修订,但这会很痛苦。你将不得不重置 rev-map(遗憾的是我什至写了 git-svn reset 我不能随便说它是否会删除 所有 修订,所以它可能是用手)。然后 git-svn fetch 更多修改和 git-filter-branch 将旧根目录重新设置为新树。这将重写每个提交,但不会影响源 blob 本身。当人们对 svn 存储库进行大规模重组时,您必须进行类似的手术。

如果您确实需要所有 修订(例如迁移),那么您应该看看 svn-fast-export + git-fast-import 的某种风格。可能有一个添加 rev 标签以匹配 git-svn,在这种情况下,您可以快速导入,然后只需移植到 svn 远程。即使现有的 svn-fast-export 选项没有该功能,您也可以在原始克隆完成之前添加它!

关于svn - 加快初始 git-svn 获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3919962/

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