我在subversion控件下有一个目录.我创建了一个分支,只是为了测试合并的东西.我拿了一个文件,修改后备箱中的X行为"abc",并在其分支中修改了与"def"相同的X行.
然后,从分支工作目录我做了:
svn merge branchURL trunkURL .
它更新了该文件,内容为该行号的"abc",即svn update
如果我在同一个工作目录中完成它并且有人提交了" c",那么就不会给我一个相同行号的冲突.def"在存储库中.
那么svn merge
在合并时只是替换内容而不会带来任何冲突吗?
如果是这样的话,当一个人不能以某种方式合并以便保持主干和分支的变化时,从主干分支出一个项目的原因将是无用的.
你确实意识到了什么
svn merge branchUrl trunkUrl branchWorkingCopy
实际上,是吗?
这是翻译:
找出该组必须使内容变化的branchUrl的那些相同的trunkUrl.现在在branchWorkingCopy上执行这些更改.
你不会以这种方式合并任何冲突.但是,当您签入branchWorkingCopy时,您的分支将与您的主干相同,这几乎肯定不是您想要的.
如果您只想将所选更改从主干复制到分支,则需要告诉Subversion 您要复制哪些更改并使用不同形式的merge命令:
svn merge -r100:103 trunkUrl branchWorkingCopy
这意味着:确定从主干上的r100到r103所需的一组更改.在工作副本(分支)上执行这些更改.请注意,这组"更改"不包括r100所做的更改,因为这些更改是从r99到r100 所需的一组更改所捕获的.Subversion中的修订版本是半开放的.
另外,如果你还没有,请考虑阅读精细手册.