我正在尝试使用一些非标准结构在Subversion存储库中创建一个新分支:而不是repo/trunk
有org/trunk/repo
。该访问仅使用HTTPS协议。
我试图以半标准方式 创建分支(注意:下面的命令稍作编辑)
$ svn copy \
https://svn.example.org/svnroot/ph/org/trunk/repo \
https://svn.example.org/svnroot/ph/org/branches/foo/repo \
-m "Create a 'foo' branch of /trunk/repo"
此命令导致奇怪的“找不到路径”错误:
svn: '/svnroot/ph/org/!svn/bc/71/branches/foo' path not found
我认为这不是权限问题,如下面的命令
$ svn copy \
https://svn.example.org/svnroot/ph/org/trunk/repo \
https://svn.example.org/svnroot/ph/org/branches/foo_repo \
-m "Create a 'foo' branch of /trunk/repo"
成功
Committed revision 72.
这个问题可能是什么原因造成的?我该如何解决它?
Subversion服务器版本为1.6.19(r1383947),subversion客户端版本为1.6.17(r1128011)。
答案 0 :(得分:15)
默认情况下,您无法动态创建中间目录。有 - parent 开关来执行此操作。所以正确的命令应该是:
svn copy --parents \
https://svn.example.org/svnroot/ph/org/trunk/repo \
https://svn.example.org/svnroot/ph/org/branches/foo/repo \
-m "Create a 'foo' branch of /trunk/repo"
答案 1 :(得分:1)
首次创建存储库时,运行“svn mkdir branches”以创建分支文件夹。按理说你需要先运行一个mkdir命令来创建foo,然后再创建一个到当前(当前)不存在的文件夹的分支。你试过了吗?
答案 2 :(得分:1)
将目标目录设为工作副本,然后添加'他们,提交,然后做svn副本。为我工作。