设置SVN:与TortoiseSNV外部材料在Windows(Setting Up SVN:Exte

2019-09-24 01:38发布

我试图建立svn:externals与TortoiseSNV在Windows计算机上。 我有两个项目,这两个仓库都在同一个本地机器上已经创建成功了。

目前的结构看起来是这样的。 我创建repoArepoB用于存储库和workAworkB的工作目录(检出)。

Z:\回购\ REPOA

Z:\回购\ repoB

工作目录

Z:\项目\ workA \干线\ core.php中

Z:\项目\ workA \干线\ LIB \ lib01.php

Z:\项目\ workB \干线\ core_mod.php

Z:\项目\ workB \干线\ LIB \

(有tagsbranches文件夹,但它们被省略,以保持这个问题很简单。)

我想达成的目标下的文件(S)是workA\trunk\lib\在这种情况下lib01.php被自动复制到workB\trunk\lib\目录下。

为了对此进行设置,我做了什么如下:

  1. 经过了workA并将其分配给repoA和签出workB并分配它repoB
  2. Comitted的workA\trunk文件夹,以便在repoA是最新的。
  3. 在oreder指定为导入位置workB\trunk\lib ,右击的workB文件夹,选择TortoiseSVN -> Properties
  4. 点击New -> Externals并单击New...
  5. 键入./trunk/libLocal path表单字段。 对于URL字段中,键入file:///Z:/repos/repoA/trunk/lib 。 按下...按钮,回购浏览器中打开,并有助于选择目标文件夹。

  6. 点击Ok几次关闭设置窗口。 我担任的外部设置已完成。

  7. 创建一个文件, Z:\Projects\workB\trunk\core_mod.php
  8. 右键点击Z:\Projects\workB\trunk\和选择SVN Comit到COMIT的workBrepoB

我预计将在这一点上,lib01.php将在自动导入Z:\Projects\workB\trunk\lib夹,但没有被拷贝。 我也试过SVN Update在右侧点击workB\trunk文件夹。 但workB\trunk\lib夹保持为空。

我怀疑的相对路径./trunk/lib一定是搞错了。 我不知道。 如果你能指出我在做什么错,我们将不胜感激。

更新

6A - 提交更改工作副本WorkB到回购

这对我是一个盲点。 我右键点击Z:\Projects\workB和选择SVN Commit... ,它给了以下错误。

单击确定按钮后我得到了一个对话窗口,询问是否要更新的文件夹,我点击确定。 这样TortoiseSVN开始更新Z:\Projects\workB ,我得到这个错误。 但在此之后,当我重新COMMITED Z:\Projects\workB ,它经历了没有一个错误。

(“行李箱/ lib目录”,在你的情况会更加防弹,我想)。

谢谢你,当我重新选择Property的的workB文件夹,点击了Edit的按钮svn:externals ,TortoiseSVN的自动调整./trunk/libtrunk/lib 。 现在,它被设置成这样的。

6B - 与RepoB(只是最快的方式)repobrowser测试,这个定义是正确的

我右键点击Z:\repos\repoB和选择TortoiseSVN -> repo-browser和浏览到trunk文件夹。 它看起来如下。 这是否正确? 我真的不知道,因为我从来没有在这项任务的工作。 行李箱文件夹下的lib文件夹是在库浏览器空。

Z:\Projects\workB\trunk\lib夹仍然是空的。 该错误信息显示搬迁“Z:\项目\ workB”,但我不知道这意味着什么。

Answer 1:

你忘了至少一个强制性的行动

6A - 提交更改工作副本WorkB到回购

和一个可选检查点

6B - 与RepoB(只是最快的方式)repobrowser测试,这个定义是正确的

不记得为什么,但我从来没有在路径规格在TSVN使用./针对URL(“行李箱/ lib目录”,在你的情况会更加防弹,我想)。 和纯个人的习惯 - 我定义在挂载点外,哪怕是结果我得到了根聚集内回购多个定义,而不是一个

出库浏览器与外部树和定义



Answer 2:

对于任何人谁碰到这个问题来了,workB的工作目录并不需要进口的文件夹。

Z:\项目\ workA \干线\ core.php中

Z:\项目\ workA \干线\ LIB \ lib01.php

Z:\项目\ workB \干线\ core_mod.php

Z:\项目\ workB \干线\ LIB \

必须是

Z:\项目\ workA \干线\ core.php中

Z:\项目\ workA \干线\ LIB \ lib01.php

Z:\项目\ workB \干线\ core_mod.php

Z:\项目\ workB \行李箱\

(无Z:\项目\ workB \树干\ lib中)



文章来源: Setting Up SVN:Externals with TortoiseSVN in Windows