Mercurial 不断缩小的汞回购规模(尤其是清单)
我们目前正在尝试将mercurial(在本例中是一个古老版本的窑)迁移到BitBucket,我们立即遇到了大小问题(如果您不知道,BitBucket施加了相当慷慨的2gb回购限制——我们碰巧错过了) 不管怎样,我已经洗清了过去的罪恶:Mercurial 不断缩小的汞回购规模(尤其是清单),mercurial,bitbucket,kiln,branching-strategy,Mercurial,Bitbucket,Kiln,Branching Strategy,我们目前正在尝试将mercurial(在本例中是一个古老版本的窑)迁移到BitBucket,我们立即遇到了大小问题(如果您不知道,BitBucket施加了相当慷慨的2gb回购限制——我们碰巧错过了) 不管怎样,我已经洗清了过去的罪恶: 使用convert with filemaps(删除不应出现在repo中的二进制文件/静态文件) 为其他不应在主回购协议中的事项创建单独的回购协议 试图使用generaldelta缩小尺寸(根据 ) 使用branchmaps尝试合并旧分支及其关联的变更集 即使
- 使用convert with filemaps(删除不应出现在repo中的二进制文件/静态文件)
- 为其他不应在主回购协议中的事项创建单独的回购协议
- 试图使用generaldelta缩小尺寸(根据 )
- 使用branchmaps尝试合并旧分支及其关联的变更集
- 发布分支(部署到staging,然后部署到prod)
- 默认分支(最初不发布,所有功能首先在此合并,然后发布。此分支死亡,每两周重新启动一次)
很明显,我在这里遗漏了一些步骤(否则回购协议就完全被套牢了)。为了将来参考,我遵循了蒂姆的建议。我的完整脚本最终如下所示:
hg --config format.generaldelta=1 clone --pull oldrepo oldrepo-generaldelta
hg --config format.generaldelta=1 clone --pull oldrepo-generaldata oldrepo-generaldelta2
hg convert --filemap filemap.txt oldrepo-generaldelta2 newrepo
正如Tim在他的链接回答中提到的,我们的清单从大约700mb下降到了第二个克隆的大约40mb
为了将来参考,我采纳了蒂姆的建议。我的完整脚本最终如下所示:
hg --config format.generaldelta=1 clone --pull oldrepo oldrepo-generaldelta
hg --config format.generaldelta=1 clone --pull oldrepo-generaldata oldrepo-generaldelta2
hg convert --filemap filemap.txt oldrepo-generaldelta2 newrepo
正如Tim在他的链接回答中提到的,我们的清单从大约700mb下降到了第二个克隆的大约40mb
比特桶可能对我们的回购协议“不起作用”,但我觉得这很难相信。我还担心,如果我们不修复/更改某些内容,我们的回购协议将继续膨胀。这将很难回答(即,如果没有关于存储库细节的更详细的来回讨论)。你有没有考虑过在Mercurial邮件列表上问这个问题(有几位在Mercurial管理大型存储库的经验的人以及至少一位在Atlassian工作的人也会读这个问题)?我同意你的看法-我会尝试一下。看看我的答案。特别是,你为generaldelta做过双克隆技术吗?我还没有尝试过双克隆。我试试看。谢谢比特桶可能不会对我们的回购协议“起作用”,但我觉得这很难相信。我还担心,如果我们不修复/更改某些内容,我们的回购协议将继续膨胀。这将很难回答(即,如果没有关于存储库细节的更详细的来回讨论)。你有没有考虑过在Mercurial邮件列表上问这个问题(有几位在Mercurial管理大型存储库的经验的人以及至少一位在Atlassian工作的人也会读这个问题)?我同意你的看法-我会尝试一下。看看我的答案。特别是,你为generaldelta做过双克隆技术吗?我还没有尝试过双克隆。我试试看。谢谢为了获得最大的影响,您希望您的BitBucket存储库也使用generaldelta。我已经做了一些搜索,但没有找到任何关于这是否可行的信息。为了最大限度地发挥作用,您希望您的BitBucket存储库也使用generaldelta。我做了一些搜索,但没有找到任何关于这是否可能的信息。