14

我必须使用具有数百万行代码和数十万变更集的 hg 存储库。可以想象,这确实减慢了 mercurial 和 TortoiseHg 的速度。

我是否可以创建一个只有最新几千个变更集的本地存储库?

这不仅有望使事情运行得更快,而且还可以为我节省一些硬盘空间。

4

3 回答 3

8

不,你不能,但你可以优化你的本地克隆。看看我对https://stackoverflow.com/a/19294645/479199的回答。

已经有一些关于浅层克隆的工作,但它仍然是一项正在进行的工作(而且似乎没有太大进展):

https://www.mercurial-scm.org/wiki/ShallowClone

于 2014-02-13T22:31:20.087 回答
6

Facebook 似乎发布了一个可以解决这个问题的扩展程序。

https://bitbucket.org/facebook/remotefilelog

于 2015-05-14T11:24:16.273 回答
5

不,你不能。这被称为“浅克隆”,它不被实现/支持。数百万行代码和数千个变更集并不是特别大,一旦您将其克隆一次,几乎每个操作都应该是即时的。

此外,.hg 目录中的压缩二进制增量通常小于工作目录中的全部未压缩代码,因此节省的空间也不应该很大。

一旦你克隆了 repo 一次,请确保从本地克隆在同一台机器上进行任何进一步的克隆,你将永远不必等待整个 repo 再次克隆。

于 2014-02-13T19:06:17.420 回答