23

当我完成“合并”时,TortoiseSVN 修订图是否会从分支绘制一条线回到主干?

4

6 回答 6

23

采取一个分支是一个复制操作(这在 svn 中非常便宜),并且在日志中看起来很明显这就是发生的事情,因此该行。这很明显(对于 svn/tortioiseSVN),因为如果不从您选择的修订版的主干中获取每一个人工制品,您就无法创建一个分支。这就是为什么总是显示一行的原因——创建一个分支可以保证将你所有的文件从主干带到你的分支。重新合并是不同的,您可以有选择地合并任何您想要的。

重新合并不是副本,而是将您的差异从 HEAD(当前最新的主干)提交到您自己的工作副本(您的分支)。对 SVN 来说,看起来有人使用了最新的主干并立即更改了大量文件并将其提交。

IMO,回到主干的行会产生误导,因为您可以合并并为每个文件选择您自己的主干版本- 该行表示您已将所有更改都带入,但实际上并不能保证您带入任何更改。

于 2009-05-28T01:52:50.480 回答
18

从“现实世界”的场景来看,如果有一条合并线,就像它有助于一条分支线一样,它确实有很大帮助。如果要查看日志,为什么还要为 barnch 添加一行……所有信息都在日志​​中。

但是,当您必须为不同的客户维护多个分支并将更改合并到主干时......如果没有图形表示,它几乎无法管理(我的意思是我们有工具可以让生活变得简单......如果你必须坐几个小时,为什么要使用它们阅读日志)。

因此,即使 SVN/Tortoise 无法决定何时划线,但如果用户可以强制划线,我认为这将有很大帮助。

确实,某些差异可能尚未合并或合并过程本身未正确执行,但这应该留给用户记录:-)

于 2010-07-28T22:27:16.383 回答
3

您可能希望查看Subclipse Revision Graph

只要合并是由 1.5.x 和更高版本的客户端和服务器执行的,它就支持显示合并信息。(从 SVN 1.5 行开始,通过附加到文件夹的元数据添加合并信息跟踪)

Subclipse 工具试图显示这些信息,但我发现它在工作中非常受欢迎或错过。它不是高度抛光,但显示出极大的希望。特别是如果可以在某个时候将其带回 TortoiseSVN。

您可能还希望查看Subversion 关于它的合并实现的注释。

于 2009-07-27T20:27:52.770 回答
2

根据我的经验,答案是否定的,但您为什么不尝试并告诉我们。我相信您不会取消合并,因为 tortoise svn 可能会或可能不会以图形方式表示它。

基于响应的更新 TSVN 只是表示 SVN 中内容的工具,因此他们可以完全自由地更改其表示方式,而不会对现实世界产生任何影响:) 我并不是说你的想法是一个坏想法,但实际上如果您添加到评论中,有关合并的信息仍然存在。

于 2009-05-28T01:31:56.310 回答
2

TortoiseSVN(2014 年 1 月)仍然没有实现这一点,但可以使用 eclipse Subversive 插件http://www.eclipse.org/subversive/documentation/teamSupport/revision_graph.php(以及之前的 Subclipse 插件)被提及)。

不幸的是,您必须单击每个节点才能显示它,而不是默认情况下能够在所有节点上显示它。

如果您选择显示合并信息并且存在合并,则合并信息会显示在图表上。每个修订节点可能具有传入和(或)传出合并,这些合并通过指向左侧或右侧的相应蓝色箭头显示在修订节点上。对于每种类型的合并,箭头附近都有一个数字,表示合并的数量,对于传入的合并,还显示了受合并影响的修订号(在括号中)。默认情况下,不显示节点之间的合并连接,因为可能存在大量合并连接,这会使图形表示和理解变得非常复杂。如果您想查看修订节点的合并连接,您可以单击修订节点上的蓝色合并箭头或从节点的上下文菜单中调用相应的操作,例如“显示传出合并”或“显示传入合并”。

于 2014-01-20T20:09:21.323 回答
1

在我自己尝试之后,答案是否定的。

这些是我的设置。

TortoiseSVN 1.6.2,内部版本 16344 - 64 位颠覆 1.6.2

虽然这根本没有意义......

如果 TSVN 显示一条分支线,为什么没有合并线?这背后的理由是什么?

于 2009-05-28T01:36:25.647 回答