我有一个正常的 SVN 结构:
http://server/DEV/Project/trunk
http://server/DEV/Project/branches
然后我用以下命令分支:
svn copy -m "message" "http://server/DEV/Project/trunk@123" "http://server/DEV/Project/branches/rel123"
一切正常,内容/trunk@123放在新的分支路径下/branches/rel123。都好。
添加:/DEV/Project/branches/rel123(从路径复制:/DEV/Project/trunk, Revision, 123)
如果有人不小心再次执行分支,我希望它会失败并显示“svn: E160020: Path 'rel123' already exists”。然而它并没有失败。
重复相同的svn copy命令实际上将复制/trunk到/branches/rel123/trunk
添加:/DEV/Project/branches/rel123/trunk(从路径复制:/DEV/Project/trunk, Revision, 123)
所以现在,我最终得到/branches/rel123了包含主干外所有文件的文件,以及额外的文件夹“主干”( /branches/rel123/trunk),其中也包含主干外的所有相同文件。
我尝试终止路径以强制 SVN 理解这是绝对目录名称,但没有运气(我http://server在下面的示例中删除了部分)
svn copy -m "message" "/DEV/Project/trunk@123 / " "/DEV/Project/branches/rel123"
svn copy -m "message" "/DEV/Project/trunk / @123" "/DEV/项目/分支/rel123"
svn copy -m "message" "/DEV/Project/trunk@123" "/DEV/Project/branches/rel123 / …
我想在我的存储库中创建一个标签.我的命令是:
svn copy trunk tags\1.1
我在本地工作副本的主目录中执行此命令.然而,它复制整个目录,因此文件最终在tags\1.1\trunk目录中,而不是在tags\1.1.我试图在trunk目录名后添加斜杠或反斜杠,但它是相同的.如何将所有文件和目录从trunk复制到tag目录?