我正在尝试使用TortoiseSVN在我的本地Windows机器上设置svn外部。我选择SVN Checkout
创建了一个工作目录。它包含一个名为lib
的目录,其内容应从外部位置导入。我跟着this tutorial和this,但仍然很难设置它。
目前的结构如下:
/myproject/trunk/core.php
/ myproject的/中继/ LIB /
/myanotherproject/trunk/core.php
/myanotherproject/trunk/lib/lib01.php
我想让它自动从myproject
目录导入myanotherproject
的lib文件。 myanotherproject
目录不是存储库。它也是另一个项目的工作目录。
我做了什么:
myproject/trunk/lib
文件夹,然后选择TortoiseSVN -> Properties
New -> Externals
New
按钮,然后在网址字段中输入file:///Z:/myanotherproject/trunk/lib
OK
然后我收到了错误:
解析svn:externals属性时出错 'Z:\ MyProject的\干线\ LIB': '文件:/// Z:/ myanotherproject /中继/ LIB'
因为必须指定URL,所以导入源必须是存储库吗?感谢您的信息。
答案 0 :(得分:2)
@bahrep的后续行动
外部必须使用Repo-path URL,而不是WC-URL,因为来自“superproject”的WC你将能够
使用外部工作,这对于工作副本来说是不可能的,仅适用于存储库
答案 1 :(得分:1)
您无法指定工作副本作为svn:externals
的来源,我真的不明白为什么需要它。
svn:externals
必须指向存储库位置;你可以指向一个不同的存储库BTW。在某些情况下,您可能需要指定svn:externals
来源的修订号。
我建议你查看svn:externals
reference in the SVNBook。前两句话回答了你的问题:
有时构造一个由其组成的工作副本是有用的 许多不同的结帐。例如,您可能希望不同 子目录来自存储库中的不同位置或 也许来自不同的存储库。
另请查看有关此主题的TortoiseSVN manual。