为什么TortoiseSVN(1.5.3)在从主干拉出时尝试合并1-Head?

时间:2008-10-06 17:27:02

标签: svn tortoisesvn merge-tracking

我使用TortoiseSVN 1.5.3和VisualSVN 1.5.3(Subversion 1.5.2)

假设我创建了trunk(/ trunk)的新分支(/ branches / branch1),然后某人(也使用TortoiseSVN 1.5.3)将其分支合并回主干。

我尝试从主干合并到分支中(以获取可能已被其他人合并到主干中的所有更改)

我没有指定任何特定的修订版,因为我希望合并跟踪确定我需要合并哪些修订版。我希望这些是我创建分支之后的修订。

当我开始合并时,输出对话框似乎将每个修订版合并回修订版1.这会导致存储库中的所有内容都被“添加”。

我做错了什么?....我希望将一个修订版作为目标,并且这是一个非常快速的操作。

我试过......

SVNAdmin Upgrade <MyRepoPath>

这导致了一条瞬间成功的消息,之后我重复了我的实验而没有改变结果

更新:我注意到TortoiseSVN对话框显示“要合并所有修订版,请将框保留为空。”......这是否意味着TortoiseSVN正在添加1-Head明确表示没有办法使用Merge-跟踪?这看起来有点奇怪。

2 个答案:

答案 0 :(得分:1)

解决:答案似乎是我们在这里为Subversion中的一些先前的错误实现的解决方法。

解决方法涉及使用SomeUserName @置于url中。从而

http://SomeUsername@Myserver:8080/myrepo/trunk

...正在使用而不是......

http://Myserver:8080/myrepo/trunk

似乎在没有添加的情况下检索了分支的工作副本,并且正在使用此添加对URL进行合并。这导致Subversion推断他们是2个不同的网址,并且自然地(ish)推断他们没有共同的历史来定位要合并的起点。

因此,解决方案是确保用于合并的“from”网址格式与工作副本使用的网址格式相匹配。

答案 1 :(得分:0)

我认为你需要使用Branch作为你的URL。原因是您的Trunk版本现在高于您的分支,因此您需要从最低版本开始。