SVN将各个文件修订从分支合并到主干

时间:2010-10-06 21:01:51

标签: svn merge

我在分支机构上完成了一些修复,我希望将其合并回主干。我不想将整个分支合并到主干中,只是我已经完成的几个分支签入。这样做的正确语法是什么?

TY, 佛瑞德

2 个答案:

答案 0 :(得分:36)

由于标题涉及合并单个文件,我不确定你究竟是在问什么,但问题的内容是关于单个修订的。在合并单个修订版的情况下,您需要:(合并修订版100,105,115中提交的更改)

cd trunk
svn merge -c 100 -c 105 -c 115 http://..../branches/mybranch .

如果只想合并影响file.cpp的版本100的部分:

cd trunk/path/to/file.cpp
svn merge -c 100 http://../branches/mybranch/path/to/file.cpp file.cpp

答案 1 :(得分:2)

您想合并整个分支。 从svn 1.5开始,有关合并内容的信息存储在repo中 - svn:mergeinfo属性中。如果您合并单个文件svn:mergeinfo将在树的深处设置。当有人尝试从项目顶部进行合并时,svn:mergeinfo将不存在,他们将不得不决定采用该变更集。如果你真的不希望它合并,你应该从项目的顶部合并,然后只提交顶级目录(svn:mergeinfo将是唯一的更改)和你想要的文件。

Way more than anyone ever wanted to know about mergeinfo