远程SVN合并

时间:2011-06-29 13:36:21

标签: svn merge branch

尝试使用

将分支合并到主干中时
svn merge "$SVN_ROOT/trunk@HEAD" "$SVN_ROOT/branches/foo@HEAD"

我收到以下错误:

svn: '/' is not a working copy

我需要工作副本吗?

3 个答案:

答案 0 :(得分:7)

是的,您需要本地结帐。 我建议采取以下步骤:

svn co https://foo.bar.com/subversion/project/trunk project
cd project
svn merge https://foo.com/subversion/project/trunk https://foo.com/subversion/project/branches/DEV
svn st

如果有任何冲突,您可以使用以下方法解决冲突:

svn resolve

提交更改:

svn commit -m "Merged DEV to trunk."

答案 1 :(得分:3)

注意svn merge命令的作用:

svn merge - 将两个来源之间的差异应用于工作副本路径。

您使用的表单是

svn merge sourceURL1[@N] sourceURL2[@M] [WCPATH]

[WCPATH]是可选的,当省略时,它被假定为.(当前目录)。这就是你的情况。

http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.merge.html

答案 2 :(得分:1)

是的,你这样做 - 抱歉。合并可能会引发您需要手动编辑和解决的冲突(而且我觉得差异/合并代码只在svn客户端而不是服务器 - 不过100%肯定) 。因此,您需要签出并在本地进行合并:

svn co "$SVN_ROOT/trunk"
cd trunk
svn merge "$SVN_ROOT/branches/foo"
svn commit