复制两次会导致分支内的分支而不是错误

时间:2014-08-20 17:27:22

标签: svn version-control branch svn-copy

我有一个正常的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:路径'rel123'已经存在”然而它不会失败。

重复相同的svn copy命令实际上会将/trunk复制到/branches/rel123/trunk

  

新增:/ DEV / Project / branches / rel123 / trunk(从路径复制:/ DEV / Project / trunk,Revision,123)

所以现在,我最终得到/branches/rel123包含主干的所有文件,加上额外文件夹“trunk”(/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 / Project / branches / rel123”
  svn copy -m“message”“/ DEV / Project / trunk @ 123”“/ DEV / Project / branches / rel123 /

  svn copy -m“message”“/ DEV / Project / trunk @ 123 / ”“/ DEV / Project / branches / rel123 /
  svn copy -m“message”“/ DEV / Project / trunk / @ 123”“/ DEV / Project / branches / rel123 /

有人遇到过这个吗?这是一个已知的问题?任何防止这种“分支内部分支”错误的变通办法?

1 个答案:

答案 0 :(得分:1)

这是一个功能。它可以让你做以下事情:

svn move *.txt docs

将所有.txt文件放入子目录。

这反映了任何shell的“mv”或“move”或“cp”或“copy”或“xcopy”或“robocopy”命令的工作方式。