尝试svn checkout,但得到:svn:'。'已经是不同网址的工作副本

时间:2009-06-01 02:43:58

标签: svn svn-checkout working-copy

我正在尝试将checkout输入到我的public_html文件夹中,但是我收到此错误: svn:'。'已经是不同网址的工作副本

我的兄弟已经为我建立了一个锅炉板网站,但我已经改变它并将这些更改放入我自己的回购中。如何使这个文件夹不是他最初设置的repo的工作副本?

我可以删除public_html文件夹并创建一个新文件夹吗?从头开始我很好,因为我要将已经安装好的drupal站点检查到这个站点。

我在另一个问题中看到解决方案可能只是删除.svn目录。我尝试了这个,但它说.svn中的几个子目录的权限被拒绝。

提前感谢您的任何帮助,希望这个问题不是太愚蠢......

7 个答案:

答案 0 :(得分:9)

您可以尝试“svn switch”。在http:// svnbook.red-bean.com/en/1.0/ch04s05.html的示例中,它很简单:

 $ svn switch http:// svn.example.com/repos/calc/branches/my-calc-branch

但是由于你有子目录权限问题,你重新创建public_html的计划听起来像是最好的解决方案;只要注意'rm'的拼写错误。尝试'mv'只是移动旧目录,这不依赖于子目录权限。

您可以使用:

 $ mv public_html old_public_html
 $ mkdir public_html
 $ chmod 755 public_html
 $ cd public_html
 $ svn checkout url

答案 1 :(得分:6)

如果你赶时间,这个命令序列应该这样做。

必须有一种方法来更新工作副本的参考网址,但我不知道它是什么。

$ svn diff > ../changes.patch
$ rm -rf * ..?*
$ svn checkout url
$ patch -p < ../changes.patch

答案 2 :(得分:1)

如果您不需要与兄弟的回购连接,那么只需删除他所有的.svn目录。

权限问题肯定与SVN无关。

答案 3 :(得分:1)

我认为你的情况下最好的选择是删除文件夹并再次创建它从SVN结帐

答案 4 :(得分:0)

  

我在另一个问题中看到了一个问题   解决方案可能是简单地删除   .svn目录。我试过这个,但是   表示许可被拒绝了几个   .svn。

中的子目录

即使你无法删除目录,也可以将它们移走:

$ mv .svn /tmp/dustbin

编辑:

您至少应该拥有对您主目录的写访问权限:

$ mv ~/public_html /tmp/dustbin
$ mkdir ~/public_html

答案 5 :(得分:0)

我刚刚在Eclipse 3.5中遇到了这个错误(“......已经是不同URL的工作副本了”)。我试图从Eclipse“SVN Repository Exploring”透视图(来自tigris.org的Subclipse subversion客户端适配器)查看项目的特定分支。我已经深入研究了我感兴趣的[project] | branches | [branch],然后右键单击我感兴趣的分支并选择了Checkout;这导致了错误。

对我来说,修复是转到“Java EE”透视图,右键单击我的项目,然后从上下文菜单中选择Replace With | Branch/Tag...。这样做,我成功地下载了我感兴趣的分支。

答案 6 :(得分:0)

我发现如果我只是转到J2EE透视图,右键单击该项目,并在我尝试签出新分支之前选择删除,它就解决了这个问题。