[英]Shrinking Mercurial repo size (manifests in particular)
We're currently undergoing an attempt to migrate our mercurial (in this case an ancient version of Kiln) to BitBucket and we immediately ran in issues with size (if you don't know, BitBucket imposes a rather generous 2gb repo limit - that we happened to blow by). 我们目前正在尝试将Merurial(在这种情况下为Kiln的较早版本)迁移到BitBucket,我们立即遇到大小问题(如果您不知道,BitBucket施加了相当大的2gb回购限制-我们碰巧碰到了)。
Anyways, I've cleaned up the sins of the past: 无论如何,我已经清理了过去的罪过:
Even with these steps, I still have a very large manifest file, despite the "data" stored for the repo shrinking down to a "manageable" size (~600mb), my manifest file is nearly 700mb. 即使经过这些步骤,我仍然有一个非常大的清单文件,尽管为回购存储的“数据”缩小到“可管理”的大小(〜600mb),但清单文件却接近700mb。
Some additional information: in general, we practice branch-per-feature and have two-branch track out to environments: 一些其他信息:通常,我们按功能进行分支,并且对环境有两个分支的跟踪:
One difference in this workflow is that default itself never is merged in to release (a la gitflow/hgflow). 此工作流程的一个不同之处在于,默认值本身永远不会合并到版本中(la gitflow / hgflow)。 Does this uni-directional flow into default cause issues?
这种单向流入默认值会导致问题吗?
We "only" have 120 open branch heads, so it seems like that's manageable? 我们“只有” 120个开放的分支机构,这似乎是可以管理的吗?
I'm obviously missing some step here (or else the repo is just completely hosed). 我显然在这里缺少一些步骤(否则,回购协议就完全被取消了)。
Just for future reference, I followed Tim's suggestion above. 仅供以后参考,我遵循上述Tim的建议。 My full script ended up looking like this:
我的完整脚本最终看起来像这样:
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
As Tim mentioned in his linked answer - our manifests went from about 700mb down to about 40mb with the second clone. 正如Tim在他的链接答案中提到的那样-第二个克隆的清单从大约700mb下降到了40mb。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.