Svn2git:将修订号添加到git commit title

时间:2016-03-30 09:25:04

标签: git svn commit revision svn2git

我想在每个git提交标题中添加svn修订版,因此我可以在Team Foundation Server的历史记录中看到每个提交中的每个修订版。

我已经尝试使用" - 修改"来编辑提交,但这样它只会进行新的提交(并且历史记录变得不正确)。另外,我不想逐一编辑每个提交。 Screenshot of what I wanna archieve 屏幕截图显示了我做了什么--ammend。

我使用svn2git进行迁移。

2 个答案:

答案 0 :(得分:1)

有一些称为svn2git的简单工具。如果您没有使用https://github.com/svn-all-fast-export/svn2git中的KDE。我强烈建议您使用svn2git工具。这是我所知道的最好的,它对你的规则文件的处理非常灵活。

您可以轻松地为布局配置它,以获得您想要的结果。

如果您不是100%关于存储库的历史记录,http://blog.hartwork.org/?p=763中的svneverever是一个很好的工具,用于在将SVN存储库迁移到Git时调查SVN存储库的历史记录。

通过最新的合并拉取请求,您甚至可以用它来完成您的请求。只需获取并编译源代码或等到新版本完成。然后,您可以将--add-metadata开关与--msg-filter之后应用的--add-metadata开关结合使用,因此在--msg-filter进程中,您可以使用修订版自动添加元数据编号并将其移动或复制到提交消息第一行的末尾。

答案 1 :(得分:0)

您可以有多种选择:

  1. 修改提交消息并将内容存储在提交消息中。
  2. 向提交添加元数据。
  3. <强> Modify the commit message

    就像你在问题中提到的那样,你做git commit --amend实际上是rebaserebase修改提交并更改SHA-1。

    您希望避免它,因此您需要在提交之前设置消息 这就是它发生的原因,因为消息是生成SHA-1时计算的元数据的一部分。

    enter image description here

    <强> Add metadata to the commit.

    如果您想要在提交之后>向提交添加额外数据,那么您已经提交了嵌套方式,只需添加notes即可。 Notes不是用于生成SHA-1的元数据的一部分,因此您可以在提交后添加它。

    git notes add -m 'Old commit is: xxxxxx'