5

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

合并是否做错了什么,或者原始作者没有保留在合并中?

4

6 回答 6

11

如果您的服务器进行合并跟踪并且您的客户端工具是 1.5 版或更高版本,这将起作用:

svn blame --use-merge-history TARGET
于 2010-10-27T12:40:04.460 回答
1

合并看起来就像某人签出主干,一次进行了大量更改,然后重新提交。合并后进行最终提交的人将显示为作者。如果您要让人们帮助合并,请确保他们使用您希望归于的人的用户名进行合并。

说了这么多,如果有人在合并中犯了错误,那么你想要“帮助”合并的人的名字,如果他们是这样做的人,肯定吗?

于 2010-10-26T12:46:46.080 回答
1

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

所以不,在这种合并过程中不会保留作者。它需要比 SVN 句柄更多的信息。

于 2010-10-26T12:48:14.563 回答
1

在我看来,合并不是由原始作者完成的方法是错误的……但这是另一回事。

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

于 2010-10-26T15:40:47.423 回答
0

我不是 100% 确定,但我认为答案是:是和否……注释 AFAIK 只会向您显示对该代码行进行最新更改的作者。在您的情况下,这将是进行合并的人。如果需要更进一步,则需要归咎于合并之前的版本。

于 2010-10-26T12:47:48.263 回答
0

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

但这只是一个创可贴——如果您想通过合并跟踪真正的作者,您可能需要切换到为分布式开发设计的工具工具:类似git, hg, 甚至darcs.

于 2010-10-26T12:56:37.080 回答