尝试使用
将分支合并到主干中时svn merge "$SVN_ROOT/trunk@HEAD" "$SVN_ROOT/branches/foo@HEAD"
我收到以下错误:
svn: '/' is not a working copy
我需要工作副本吗?
答案 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]是可选的,当省略时,它被假定为.
(当前目录)。这就是你的情况。
答案 2 :(得分:1)
是的,你这样做 - 抱歉。合并可能会引发您需要手动编辑和解决的冲突(而且我觉得差异/合并代码只在svn客户端而不是服务器 - 不过100%肯定) 。因此,您需要签出并在本地进行合并:
svn co "$SVN_ROOT/trunk"
cd trunk
svn merge "$SVN_ROOT/branches/foo"
svn commit
等