代码之家  ›  专栏  ›  技术社区  ›  Sam McAfee

如何正确删除svn:externals并将其替换为同一目录的本地(非外部)副本?

svn
  •  28
  • Sam McAfee  · 技术社区  · 17 年前

    我意识到在这个话题上也有类似的问题,但我仍然找不到我具体案例的答案。我有一个从另一个团队的回购协议中继承的项目。我们做了一个“svn开关——重新定位”,将签出的副本重定向到服务器,而不是他们的副本。但是,他们仍然有一个子目录的svn:externals,它仍然指向他们的另一个存储库。

    如何正确地删除外部目录并用该目录的本地版本替换它?我试着删除外部目录,用本地副本替换并签入它,但当项目根目录上的“svn up”时,它抱怨该目录被“锁定”。我做错了什么?

    哦,我没有为这个安装很多gui工具。我只是在命令行上做这件事。谢谢

    2 回复  |  直到 17 年前
        1
  •  44
  •   jason    17 年前

    在工作副本的根目录中:

    svn propedit svn:externals .

    您应该在所选编辑器中看到一个文件,其行如下:

    path/to/extenal http://url/of/repo
    

    如果删除该行,然后运行提交/更新,则应该从该路径中删除外部定义,并解锁该路径。

    也许 需要运行一个 svn cleanup 如果它抱怨。

        2
  •  4
  •   Sherin Syriac    13 年前

    转到外部用户所在的根文件夹,然后右键单击团队>显示属性>

    您应该看到一个名为svn:external、值为externalrepository的名称-值对。右键单击,您可以看到删除选项,该选项将删除链接。