Svn Subversion中被阻止的文件夹

Svn Subversion中被阻止的文件夹,svn,Svn,当你试图检查Subversion时,“阻塞”到底是什么意思?我看到两个红色的文件夹,文本状态为“阻塞”。我看不出这在文档中的任何地方意味着什么 当我尝试cleanup命令时,我得到“文件夹名称不是工作目录”。这是我刚刚在VS中创建的文件夹,当我尝试将其添加到Subversion时,它会给我该错误。所有其他文件夹都正常。当您删除或移动.svn子目录时(没有执行svn命令),会发生这种情况,因此svn的工作副本视图已损坏 首先尝试清理,如果无法解决问题,请还原(或更新)目录以还原子目录.svn文件夹

当你试图检查Subversion时,“阻塞”到底是什么意思?我看到两个红色的文件夹,文本状态为“阻塞”。我看不出这在文档中的任何地方意味着什么


当我尝试
cleanup
命令时,我得到“文件夹名称不是工作目录”。这是我刚刚在VS中创建的文件夹,当我尝试将其添加到Subversion时,它会给我该错误。所有其他文件夹都正常。

当您删除或移动.svn子目录时(没有执行svn命令),会发生这种情况,因此svn的工作副本视图已损坏


首先尝试清理,如果无法解决问题,请还原(或更新)目录以还原子目录.svn文件夹。

这意味着,由于某种原因,在操作过程中发生了冲突。检查现有的未版本化文件或文件夹是否与已版本化文件或文件夹同名

(摘自Tortoise SVN客户端帮助文件)

在不知道原因的情况下,解决方案可以是将工作副本(本地的整个签出)导出到其他地方

如果您使用的是OrtoiseSVN,那么您可以选择“导出未版本化的文件”,但我认为如果从命令行执行此操作,它只会导出版本化的文件,因此手动复制未版本化的文件可能会有一点费力

完成后,签出一份干净的工作副本,然后将导出的备份放在上面。备份中没有.svn文件夹非常重要


以前,当人们签出其他工作副本中的工作副本或任何其他损坏.svn条目的内容时,我看到过这些错误。

如果您使用的是*nix系统,请确保您没有创建文件,将其添加到svn,然后删除,并将其替换为同名文件夹。这对操作没有帮助,但希望它能帮某人减轻压力。

我在使用FTP客户端将包含子目录的文件夹粘贴到工作副本时遇到了这个问题-我知道我一按“传输”按钮就搞砸了。。。工作太晚的危险

我尝试了上面所有的建议,在网上找到的其他建议都没有用。每个选项都会产生错误,即我的目录被锁定,无法执行操作


我进入了我的时间机器副本,恢复了目录,很好。作为预防措施,我清理了工作副本,正确地更新了我的文件,然后重新开始工作。

也有同样的问题,并像这样修复了它:

  • 改名为阻塞目录
  • 使用SVN中的原始名称创建目录(例如SVN mkdir)
  • 已更新父文件夹,因此新创建的目录将显示在我的工作副本中
  • 将文件从目录复制到新创建的目录并提交

    • 我什么都做不到,所以我做了以下几点:

      • 将未版本文件导出到新位置
      • 重命名现有文件夹
      • 已从项目中的导出位置移动文件夹
      • 重命名新文件夹
      • 添加、提交
      • 已删除已重命名的旧文件夹
      • 重命名新文件夹
      • 承诺

      我们经常同时有多个分支,为了避免切换或干扰IIS配置,我将每个分支签出到一个单独的文件夹中。然后,我使用目录链接将这些文件夹连接回IIS中配置的主路径


      所以对我来说,链接目录总是有一个黄色感叹号,并被标记为阻塞。我相信这是因为它在技术上是在SVN之外创建/移动的

      可能导致这种情况的场景有不同的变化。 以下是一个例子:

      我最终得到了一个好消息!在未使用“svn rename”命令而从www重命名为www_a的目录上进行标记:

    • 将具有原始名称的当前目录重命名为www_b
    • 将www_a重新命名为www
    • 确保在www目录中执行“svn更新”或“svn还原”
    • 不使用“svn Delete”删除最新的www目录
    • 转到父目录并发出“svn更新”
    • 这将还原原始的www目录
    • 这次使用“svn rename”将www重命名为www_a
    • 将www_b重新命名为www
    • 使用“svn add”将其添加到存储库中
    • 此时,您应该获得正确的svn工作目录。并了解如何解决svn目录混淆的一两件事。

      当我通过web界面更新CMS(WordPress或Drupal)时,目录上会出现这种“阻塞”状态——应用程序不知道其代码实际上是subversion工作副本,因此在更新插件时会删除该插件的目录(包括
      .svn
      目录)并从插件的新版本中放入一个新目录

      要从包含阻塞目录的目录中获取
      .svn
      目录,我使用
      --force
      进行签出。例如,如果
      插件目录
      标记为“~”,我将从其父目录运行:

      svn checkout --force http://svn.server.hostname/path/to/repo/and/plugin_dir
      
      任何已经存在的文件都被单独保留,并在checkout命令的输出上标记为“E”(当我运行
      svn status
      时标记为“M”)


      有时我必须返回并添加更新时新的文件;或者删除作为更新的一部分应该删除的文件,因为它们在我签出时重新出现。我相信这些文件被标记为“A”在签出时,但随后的
      svn状态将不会提及它们。

      我在Eclipse中遇到此问题,其中一些文件被标记为红色感叹号。问题是源目录中有一个游离的.svn文件夹。我删除了.svn文件夹,刷新了Eclipse,并且能够签入这些文件。

      当u将subversion升级到XCode不支持的版本。

      面临这个问题
      svn checkout --force http://svn.server.hostname/path/to/repo/and/plugin_dir
      
      cd plugin_dir
      svn st -u
      
      Status against revision: 1234
      
      cd ..
      mklink /d link_dir plugin_dir
      cd link_dir
      svn st -u
      
      ~           1234  .
      Status against revision: 1234