SVN - 合并是否会保留作者,以便责备是正确的?

时间:2010-10-26 12:37:51

标签: svn merge annotate blame

在我的团队中,有些人通过合并互相帮助。 即我的代码被其他人合并回主干。 似乎作者信息在合并期间未完全保留。当我做注释(责备)时,合并将显示为作者。

合并是否有问题,或者合并中是否保留了原始作者?

6 个答案:

答案 0 :(得分:10)

如果您的服务器进行合并跟踪,而您的客户端工具是1.5或更高版本,则可以使用:

svn blame --use-merge-history TARGET

答案 1 :(得分:1)

合并看起来像是某人签出了主干,一次又一次地进行了一系列更改,然后又提交回来。合并后进行最终提交的人将显示为作者。如果您要让人们帮助进行合并,请确保他们使用您希望将其归属的人的用户名进行操作。

说了这么多,如果有人在合并中犯了错误,那么你想要那个“帮助”合并的人的名字,如果他们是那个人,那当然呢?

答案 2 :(得分:1)

SVN服务器上的唯一信息是提交的作者。这就是责备/注释将使用的东西。

所以不,在这种合并期间,作者没有被保留。它需要比SVN处理更多的信息。

答案 3 :(得分:1)

在我看来,合并不是由原始作者完成的方法是错误的......但这是一个不同的故事。

在Subverison中,每个提交都与作者相关联。合并只能在属于特定作者的工作副本中完成。在我看来,SVN中的信息是正确的,因为合并代码的人对合并“负责”...所以与他的名字的关系是正确的。

答案 4 :(得分:0)

我不是百分百肯定,但我认为答案是:是和否......注释AFAIK只会向您显示对该行代码进行最新更改的作者。在您的情况下,这将是合并的人。如果你需要更进一步,你需要在合并之前责怪版本。

答案 5 :(得分:0)

合并可能会更改svn:mergeinfo属性。在这种情况下,可以间接发现任何给定合并的原始提交的作者。

但这仅仅是一个绑定 - 如果你想要真正的作者通过合并进行跟踪,你可能需要切换到专为分布式开发设计的工具工具:类似githg甚至{ {1}}。