我有一个 Mercurial (hg) 存储库,其中的提交数据在我推送的所有提交中附加了错误(格式错误)的电子邮件地址。我可以直接访问远程服务器上的存储库文件(通过 ssh)。有什么方法可以直接修改存储库文件以更正提交历史记录中格式错误的电子邮件的每个实例?
最佳答案
如果不重写历史就无法做到这一点。 Mercurial 存储库中的每个变更集 ID 都是根据变更集数据计算出的加密哈希值。本质上,在每个受影响的变更集中,更改电子邮件地址就像更改其中一个文件的内容一样。
您真的需要修复该电子邮件吗?如果你通过重写历史来做到这一点,你最终会得到本质上是一个新存储库的东西。您的开发同事将不得不放弃他的代表副本,转而使用重新创建的代表副本。
要进行实际转换,内置 convert
extension与 --authors
map我相信应该对你有帮助。它将创建具有固定作者姓名的存储库副本。
关于version-control - 替换现有 Mercurial 提交数据中的电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10863517/