SVN:状态“相对于其父级”的意思是什么?

时间:2010-02-16 00:58:15

标签: svn

我正在尝试从SVN存储库更新我们的实时网站。据我所知,回购中没有任何东西。本身应该与工作副本目录中的任何内容冲突。但是当我尝试在公共根目录上“svn up”时,我收到以下错误:

svn: REPORT request failed on '/svn/oursite/!svn/vcc/default'
svn: Working copy path 'app' does not exist in repository

当我在docroot上运行“svn status”时,我看到以下内容:

docroot$ svn st -N
   +S  app
   +S  downloads
   +S  index.php
   (etc.)

根据文档,S标记表示whether the item is switched relative to its parent这甚至意味着什么,我该怎么做才能解决这个问题?

编辑:我应该提一下,我是唯一一个使用SVN存储库的人。我一整天都在努力工作,试图在我搬家的时候一个接一个地打败一个腐败问题。

(SVN很棒,但肯定很脆弱......如果你只是看错了就好了!)

4 个答案:

答案 0 :(得分:29)

在与运行svn status的文件夹相同的文件夹中,运行以下命令:

svn info app

这将显示app文件夹的svn元数据指向的URL。您可能会看到它指向另一个位置,而不是基于父文件夹的URL所期望的位置。

然后,您可以使用svn switch将每个已切换的文件夹指回正确的网址,或者只需使用rm -rf删除每个已切换的文件夹,然后执行svn update

重读问题后

更新:当他说切换文件夹在执行svn update时不会导致错误时,Scott是对的。

您遇到工作副本问题的原因是您在不使用svn mv命令的情况下移动或重命名文件夹。这是一个经典的SVN新手错误;我参与培训新的SVN用户,我已经看过很多了。

在这种错误操作之后修复工作副本非常困难。解决问题的最佳方法通常是进行新的结账。 SVN的 Future versions将集中 Subversion 1.7现在centralized the .svn metadata,减少了出现此类错误的机会。

答案 1 :(得分:8)

我认为该目录以某种方式被破坏了。如果核对它并不是什么大不了的事,我确信删除目录并重新更新/签出会使问题消失。

我不认为他们对正在切换的目录是正确的,因为你肯定可以在切换目录中运行svn而没有问题。

这是一个以核心方式解决它的人(http://andychase.net/posts/2006/04/working-copy-path-foo-does-not-exist-repository),其他几个实例很容易搜索。

答案 2 :(得分:1)

我将一些文件从一个本地检出的目录复制到另一个目录,然后尝试添加文件后遇到了这个问题。问题是我还从源文件中复制了.svn目录,这混淆了颠覆。复制文件后删除.svn目录修复了我的问题。

答案 3 :(得分:0)

我刚刚找到了一个在这里工作的解决方案。行动顺序:

在文本编辑器中打开仅存在于当前分支中的文件。

  1. 切换到另一个分支。
  2. 将文件保存在编辑器中。
  3. 切换回来 - 它现在抱怨它不能,因为文件将被交换机替换。
  4. 删除文件。
  5. 重做开关。现在所有文件的状态都为“S”。
  6. 再次切换 。现在,在过时的VCS中,这一切都是幸福的。