18

我正在尝试 svn checkout 到我的 public_html 文件夹,但我收到此错误:svn: '.' 已经是不同 URL 的工作副本

我的兄弟已经为我建立了一个样板站点,但我已经对其进行了更改并将这些更改放入我自己的存储库中。如何使此文件夹不是他最初设置的存储库的工作副本?

我可以删除 public_html 文件夹并创建一个新文件夹吗?我可以从头开始,因为我只是将已安装的 drupal 站点检出到该站点上。

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

在此先感谢您的帮助,希望这个问题不会太愚蠢...

4

7 回答 7

10

你可以试试“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
于 2009-06-01T03:37:42.743 回答
6

如果您赶时间,这一系列命令应该可以做到。

必须有一种方法来更新工作副本的参考 url,但我不知道它是临时的。

$ svn diff > ../changes.patch
$ rm -rf * ..?*
$ svn checkout url
$ patch -p < ../changes.patch
于 2009-06-01T03:09:57.817 回答
1

如果您不需要与您兄弟的仓库建立联系,那么只需删除他的所有.svn目录。

权限问题肯定与 SVN 无关。

于 2009-06-01T03:13:44.767 回答
1

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

于 2014-03-26T05:31:33.400 回答
0

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

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

$ mv .svn /tmp/dustbin

编辑:

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

$ mv ~/public_html /tmp/dustbin
$ mkdir ~/public_html
于 2009-06-01T22:46:40.650 回答
0

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

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

于 2010-02-04T20:00:46.490 回答
0

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

于 2010-07-15T13:03:37.083 回答