3

我正在尝试在 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)。

4

3 回答 3

18

默认情况下,您不能即时创建中间目录。有--parents开关可以做到这一点。所以正确的命令应该是:

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"
于 2012-10-15T01:26:10.943 回答
1

当您第一次创建存储库时,您运行“svn mkdir 分支”来创建分支文件夹。理所当然地,您需要运行 mkdir 命令来制作 foo ,然后才能创建到该(当前)不存在的文件夹的分支。你试过吗?

于 2012-10-14T23:34:00.953 回答
1

在工作副本中创建目标目录,“添加”它们,提交,然后执行 svn 复制。为我工作。

于 2018-01-23T15:43:39.420 回答