我们的团队正在使用Mercurial进行版本控制,而中央存储库位于共享的网络驱动器上(即,我们未使用服务器)。我们公司限制了我们可以在计算机上安装的内容,每个人的汞版本均为4.6。团队成员之一使用管理员权限,必须安装最新的TortoiseHg(4.9)。看来导致中央存储库被转换为最新版本。现在,另一个具有旧版Mercurial的团队成员无法从中央存储库中撤出。它说
存储库需要此Mercurial未知的功能:sparserevlog
我读了一些,似乎这个功能对我们来说并不重要。是否可以将中央存储库还原为版本而无需稀疏的revlog?
小智 9
对于4.9,默认情况下将使用创建新的存储库sparse-revlog。但是,现有存储库未更改。它们保持与创建时相同的格式。
为了防止升级到创建sparse-revlog存储库的用户,他需要在用户配置(hg config -e)中设置以下内容
[format]
sparse-revlog = no
Run Code Online (Sandbox Code Playgroud)
您对用户配置有全局控制权吗?
如果要降级此类新创建的存储库,请执行以下操作:
hg config -l)[format]
sparse-revlog = no
Run Code Online (Sandbox Code Playgroud)
hg debugupgraderepo --run(4.7或更高版本)如果要升级现有的已创建存储库,则过程类似:
hg config -l)[format]
sparse-revlog = yes
Run Code Online (Sandbox Code Playgroud)
hg debugupgraderepo --run(4.7或更高版本)注意:https ://www.selenic.com/mercurial/hgrc.5.html#format 页面已过时。关于Mercurial的网站已经存在https://www.mercurial-scm.org/了两年。