使用HTTPS创建分支时svn“path not found”错误

时间:2012-10-14 20:18:39

标签: svn version-control branch

我正在尝试使用一些非标准结构在Subversion存储库中创建一个新分支:而不是repo/trunkorg/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)。

3 个答案:

答案 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副本。为我工作。