“零”是一个多变量的存储库

时间:2013-03-01 20:12:24

标签: mercurial

我有几千个变更集的mercurial存储库。有没有办法说当前变更集的状态是新的“零”,基线,初始提交?


Rev00000 ... Rev90000 ... 

would become:

RepoState@Rev90000 ... 

2 个答案:

答案 0 :(得分:2)

评论者有你的答案,简短的回答是“不”。您可以轻松地构建一个新的存储库,其第一次提交是来自旧存储库的最新存档/快照,但它将是一个全新的存储库,任何从中获取的存储库都将“无关”并且如果它们使用“--force”他们拥有所有旧的和全新的。同样,如果他们用“--force”推送它,它只会再填满旧的东西。

所以,除非你愿意让所有人删除所有克隆并重新克隆(基本上是从新的快照开始),否则你会被卡住。

答案 1 :(得分:1)

您可以使用convert扩展程序重写历史记录。为此,我们假设本地修订版950是新存储库中的新本地修订版零。

通过将以下内容添加到mercurial.ini文件来启用扩展程序:

[extensions]
convert =

然后使用修订版950作为转换的开始运行转换:

hg convert --config convert.hg.startrev=950 c:\repo c:\repo.new

然后,所有用户都必须克隆新的存储库repo.new

相关问题