如何对mercurial存储库进行匿名化?

DMA*_*361 6 mercurial

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

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

我需要创建一个匿名版本的repo(或换掉我的学生ID号码的所有名称),而不会丢失它所拥有的任何其他信息.

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

Chr*_*cht 8

您可以使用水银的转换扩展--authors选择 "转换"你的资料库到一个新的Mercurial库,在转换过程中改变了作者的名字.

从第二个链接引用:

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

john=John Smith <John.Smith@someplace.net>
tom=Tom Johnson <Tom.Johnson@bigcity.com>
Run Code Online (Sandbox Code Playgroud)

  • @ DMA57361:1)使用`hg log --template'{author} \n'| sort -u`获取唯一用户名列表,2)使用加密哈希函数(SHA-1)形成变更集ID,其中(以及其他)将用户名作为输入,3)完全正确! (3认同)