6

我有一个编程作业要在本周末在我的大学上交,他们对作业的匿名性有严格的规定以保持公正,所以如果我的名字(或任何其他明显的识别信息)出现在任何地方工作可能会被自动取消资格。

在准备将所有内容刻录到光盘时,我刚刚注意到/记得我的 HG 存储库中充满了我名字的副本。代码很干净,但每个变更集的作者要么是我的全名和电子邮件,要么是我的大学登录 ID 和实验室计算机的主机名(取决于我在哪里工作)。

我需要创建一个匿名版本的存储库(或将所有姓名换成我的学生证号码),而不会丢失它所拥有的任何其他信息。

所以,正如标题所说,我如何匿名一个 mercurial 存储库?

4

2 回答 2

8

您可以使用 Mercurial 的Convert 扩展,并--authors选择将您的存储库“转换”为新的 Mercurial 存储库,在转换过程中更改作者的姓名。

引用第二个链接:

--authors如果提供了选项,Convert 还可以在转换期间重新映射作者姓名 。参数应该是一个简单的文本文件,将每个源提交作者映射到目标提交作者。对于使用 UNIX 登录来识别作者(例如:CVS)的源 SCM 来说,这很方便。例子:

john=John Smith <John.Smith@someplace.net>
tom=Tom Johnson <Tom.Johnson@bigcity.com>
于 2012-05-02T20:36:55.547 回答
1

如果您没有任何合并变更集,那么您可以尝试使用graftMercurial 2.0 中的命令将您的存储库移植到新存储库,同时更改记录的用户名。

如果您确实有合并变更集,那么可能可以使用transplantMercurial 2.2 中的扩展,尽管更改记录的用户名似乎更难。

于 2012-05-02T19:40:55.573 回答