替换现有Mercurial提交数据中的电子邮件地址

时间:2012-06-02 15:20:15

标签: version-control mercurial

我有一个Mercurial(hg)存储库,其中提交数据的错误(格式错误)电子邮件地址附加到我推送的所有提交中。我可以直接访问远程服务器上的存储库文件(通过ssh)。有没有什么办法可以直接修改存储库文件来更正提交历史记录中格式错误的电子邮件的每个实例?

1 个答案:

答案 0 :(得分:3)

如果不重写历史记录,则无法执行此操作。 Mercurial存储库中的每个变更集ID都是根据变更集数据计算的加密哈希。基本上,将电子邮件地址更改为与更改其中一个文件的内容相同 - 在每个受影响的变更集中。

你真的需要修理那封电子邮件吗?如果你通过重写历史记录来做到这一点,那么你最终会得到一些本质上是新存储库的东西。你的开发人员将不得不放弃他的代表副本,转而使用重新创建的副本。

要进行实际转换,我相信带内置convert extension的内置--authors map可以为您提供帮助。它将使用固定的作者名称创建存储库的副本。