我必须使用具有数百万行代码和数十万变更集的 hg 存储库。可以想象,这确实减慢了 mercurial 和 TortoiseHg 的速度。
我是否可以创建一个只有最新几千个变更集的本地存储库?
这不仅有望使事情运行得更快,而且还可以为我节省一些硬盘空间。
我必须使用具有数百万行代码和数十万变更集的 hg 存储库。可以想象,这确实减慢了 mercurial 和 TortoiseHg 的速度。
我是否可以创建一个只有最新几千个变更集的本地存储库?
这不仅有望使事情运行得更快,而且还可以为我节省一些硬盘空间。
不,你不能,但你可以优化你的本地克隆。看看我对https://stackoverflow.com/a/19294645/479199的回答。
已经有一些关于浅层克隆的工作,但它仍然是一项正在进行的工作(而且似乎没有太大进展):
Facebook 似乎发布了一个可以解决这个问题的扩展程序。
不,你不能。这被称为“浅克隆”,它不被实现/支持。数百万行代码和数千个变更集并不是特别大,一旦您将其克隆一次,几乎每个操作都应该是即时的。
此外,.hg 目录中的压缩二进制增量通常小于工作目录中的全部未压缩代码,因此节省的空间也不应该很大。
一旦你克隆了 repo 一次,请确保从本地克隆在同一台机器上进行任何进一步的克隆,你将永远不必等待整个 repo 再次克隆。