gpt4 book ai didi

svn - 设置SVN :Externals with TortoiseSVN in Windows

转载 作者:行者123 更新时间:2023-12-04 12:42:13 26 4
gpt4 key购买 nike

我正在尝试设置 svn:externals在 Windows 机器上使用 TortoiseSVN。我有两个项目,并且两个存储库都已经在同一台本地机器上创建。

当前的结构看起来像这样。我创建了 repoA , repoB用于存储库和 workAworkB用于工作目录(结帐)。

存储库

Z:\repos\repoA

Z:\repos\repoB



工作目录

Z:\Projects\workA\trunk\core.php

Z:\Projects\workA\trunk\lib\lib01.php

Z:\Projects\workB\trunk\core_mod.php

Z:\Projects\workB\trunk\lib\



(有 tagsbranches 文件夹,但为了简单起见,省略了它们。)

我想要实现的是 workA\trunk\lib\ 下的文件在这种情况下 lib01.php自动复制到 workB\trunk\lib\目录。

为了进行设置,我所做的如下:
  • 退房 workA并将其分配给 repoA并 checkout workB并将其分配给 repoB
  • 提交了workA\trunk文件夹所以 repoA已是最新。
  • 为了为 workB\trunk\lib 分配导入位置,右键单击 workB文件夹并选择 TortoiseSVN -> Properties .
  • 点击 New -> Externals并点击 New...
  • 输入 ./trunk/libLocal path表单字段。对于 URL字段,键入 file:///Z:/repos/repoA/trunk/lib .按 ...按钮,repo-browser 打开并帮助选择目标文件夹。

    enter image description here

    enter image description here
  • 点击 Ok几次关闭设置窗口。我假设外部设置已完成。
  • 创建了一个文件,Z:\Projects\workB\trunk\core_mod.php
  • 右键单击 Z:\Projects\workB\trunk\并选择 SVN Comit提交 workBrepoB .

  • 我预计此时,lib01.php 会自动导入到 Z:\Projects\workB\trunk\lib 中。文件夹,但没有复制任何内容。我也试过 SVN Update通过右键单击 workB\trunk文件夹。但是 workB\trunk\lib文件夹保持为空。

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

    更新

    6a - commit changed Working Copy WorkB to repo



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

    enter image description here

    立即单击“确定”按钮后,出现一个对话框窗口,询问是否更新文件夹,然后单击“确定”。然后 TortoiseSVN 开始更新 Z:\Projects\workB我收到了这个错误。但是在这之后,当我重新提交时 Z:\Projects\workB ,它通过没有错误。

    enter image description here

    ("trunk/lib" in your case will be more bulletproof, I suppose).



    谢谢,当我重新选择时 PropertyworkB文件夹并单击 Edit svn:externals 的按钮, TortoiseSVN 自动调整 ./trunk/libtrunk/lib .现在就这样了。

    6b - test with repobrowser on RepoB (just fastest way), that definition is correct



    我右击 Z:\repos\repoB并选择了 TortoiseSVN -> repo-browser并向下浏览到主干文件夹。它看起来如下。看起来对吗?我真的不知道,因为我从来没有做过这个任务。在repo-browser中trunk文件夹下的lib文件夹是空的。

    enter image description here
    Z:\Projects\workB\trunk\lib文件夹还是空的。错误消息建议重新定位 'Z:\Projects\workB' 但我不确定这意味着什么。

    最佳答案

    您至少忘记了一项强制性操作

    6a - 将更改的工作副本 WorkB 提交到 repo

    和一个可选的检查点

    6b - 在 RepoB 上使用 reobrowser 进行测试(只是最快的方式),该定义是正确的

    不记得为什么,但我从来没有在 TSVN 中的 URL 的路径规范中使用 ./(我想,在你的情况下,“trunk/lib”会更防弹)。和纯粹的个人习惯 - 我在挂载点定义外部,即使结果我在 repo 中得到多个定义而不是一个聚合在 root 中

    带有外部树和定义的 repo 浏览器

    Repo-Browser

    关于svn - 设置SVN :Externals with TortoiseSVN in Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12861082/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com