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

时间:2009-06-25 15:39:22

标签: svn

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

如何正确删除外部设备并将其替换为该目录的本地版本?我尝试删除外部目录并将其替换为本地副本并将其检入,但是当在项目根目录“svn up”时,它会抱怨该目录已“锁定”。我做错了什么?

哦,我没有安装很多gui工具。我只是在命令行上这样做。谢谢!

2 个答案:

答案 0 :(得分:39)

在工作副本的根目录中:

svn propedit svn:externals .

你应该在你选择的编辑器中看到一个包含这样的行的文件:

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

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

如果抱怨, 可能会运行svn cleanup

答案 1 :(得分:4)

我遇到了这个问题,为了通过eclipse做到这一点你可以做到以下几点  转到外部所在的根文件夹,然后右键单击Team> Show properties>

您应该看到名称为svn的名称值对:external和value作为外部存储库。右键单击,您可以看到删除选项,删除链接。

你可能需要做一个svn:更新或清理之后。