1

我正在尝试使用 TortoiseSVN 在本地 Windows 机器上设置 svn externals。我通过选择创建了一个工作目录SVN Checkout。它包含一个名为的目录lib,其内容应从外部位置导入。我遵循了本教程教程,但仍然很难设置它。

当前的结构如下所示:

/myproject/trunk/core.php

/myproject/trunk/lib/

/myanotherproject/trunk/core.php

/myanotherproject/trunk/lib/lib01.php

我想让它自动myprojectmyanotherproject目录中导入 lib 文件。该myanotherproject目录不是存储库。它也是另一个项目的工作目录。

我做了什么:

  1. 右键单击他的myproject/trunk/lib文件夹并选择TortoiseSVN -> Properties
  2. 已选中New -> Externals
  3. 单击New按钮并在输入的 URL 字段中,file:///Z:/myanotherproject/trunk/lib
  4. 已点击OK

然后我得到了错误:

解析 'Z:\myproject\trunk\lib' 上的 svn:externals 属性时出错:'file:///Z:/myanotherproject/trunk/lib'

那么导入源是否必须是存储库,因为必须指定 URL?感谢你的信息。

4

2 回答 2

2

@bahrep 的后续行动

外部必须使用 Repo-path URL,而不是 WC-URL,因为从“超级项目”的 WC 你可以

  • 查看
  • 更新
  • 甚至承诺

使用外部,这对于工作副本是不可能的,仅适用于存储库

于 2012-10-12T13:19:11.353 回答
1

您不能将工作副本指定为来源svn:externals,我也不明白您为什么需要它。

svn:externals必须指向存储库位置;您可以指向不同的存储库 BTW。在某些情况下,您可能需要指定svn:externals源的修订号。

我建议您查看svn:externalsSVNBook 中的参考资料。前两句话回答了你的问题:

有时构建一个由许多不同的结帐组成的工作副本很有用。例如,您可能希望不同的子目录来自存储库中的不同位置,或者可能完全来自不同的存储库

另请查看有关此主题的TortoiseSVN 手册。

于 2012-10-12T12:49:45.020 回答