SVN将分支中的单个文件修订合并到主干中

SVN将分支中的单个文件修订合并到主干中,svn,merge,Svn,Merge,我在一个分支上做了一些修复,我想把它合并回主干。我不想将整个分支合并到主干中,只是我完成的几个分支签入。这样做的正确语法是什么 泰, 弗雷德我不确定你到底在问什么,因为标题谈到了合并单个文件,但问题的正文谈到了单个修订。在合并单个修订的情况下,您需要:(合并修订100、105、115中提交的更改) 如果只希望合并影响file.cpp的修订版100的一部分: cd trunk/path/to/file.cpp svn merge -c 100 http://../branches/mybranch

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

泰,
弗雷德

我不确定你到底在问什么,因为标题谈到了合并单个文件,但问题的正文谈到了单个修订。在合并单个修订的情况下,您需要:(合并修订100、105、115中提交的更改)

如果只希望合并影响file.cpp的修订版100的一部分:

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

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


山楂叶回答有用吗?我也有同样的问题,但因为你还没有接受,我不确定我是否应该尝试。要理解这里解释的内容,请转到这里以获得更好的解释:
cd trunk/path/to/file.cpp
svn merge -c 100 http://../branches/mybranch/path/to/file.cpp file.cpp