【问题标题】:Subversion: Working copy is old development versionSubversion:工作副本是旧的开发版本
【发布时间】:2012-11-06 23:18:17
【问题描述】:

我正在 OSX 上开发,我的一个 Subversion 工作副本刚刚开始为所有命令返回以下错误,但是我的其他检查工作正常。我的 Brew 安装的 SVN 二进制文件和 Cornerstone 客户端都收到相同的消息,但其他工作目录都很好。

> svn update
svn: E155036: Please see the 'svn upgrade' command
svn: E155036: Working copy '/working_directory' is an old development version (format 12); to upgrade it, use a format 18 client, then use 'tools/dev/wc-ng/bump-to-19.py', then use the current client
> svn upgrade
svn: E155019: Can't upgrade '/working_directory' as it is not a pre-1.7 working copy directory
svn: E150000: Missing default entry

我的电脑上没有bump-to-19.py 脚本(根据find / -type f -name bump-to-19.py),但是我想我可以在Apache repository 上找到它。也就是说,我不熟悉它的作用或如何使用它。理想情况下,我可以避免签出此工作目录的新版本并手动合并我的所有(许多)更改。

我能找到的唯一信息是与Netbeansjavahl 相关的,我都没有使用。

编辑:下载bump-to-19.py 文件并使其可执行后,我在我的工作目录上尝试过,但无济于事:

> ./bump-to-19.py working_directory/
error: format is 29 not 18: 'working_directory/'

【问题讨论】:

    标签: macos svn cornerstone


    【解决方案1】:

    虽然我无法弄清楚我的工作目录损坏的原因,但我可以使用 rsync 解决它 - 有一个选项 C 在制作时会忽略 CVS/SVN 文件和目录备份。我使用此选项进行了备份,再次签出项目,然后将备份复制回新的工作目录。 SVN又开心了。

    > rsync -arC working_directory working_directory_no_svn
    > rm -rf working_directory
    > svn co https://svn.example.com/project/trunk working_directory
    > rsync -ar working_directory_no_svn working_directory
    

    【讨论】:

    • 整洁的解决方案,但我认为 user1794106 发布的解决方案更简单、更干净。
    【解决方案2】:

    我遇到了同样的问题,我的解决方法如下:

    1. 删除顶层的 .svn 文件夹 (rm -rf .svn)
    2. 再次从 SVN 结帐软件 (svn co ...)
    3. 一切顺利!

    【讨论】:

      【解决方案3】:

      我知道这已经有一段时间了,但我找到了一个使用 SVN 给出的提示的解决方案......基本上使用升级命令,因为它声明。使用 CMD,我转到了有问题的项目所在的工作区文件夹。让我们将项目称为 Project1。你调用命令:

      “svn升级项目1”

      这以正确的方式解决了我的问题,而不涉及某种黑客或解决方法。

      【讨论】:

      • 非常感谢!这就像一个魅力。我应该注意到我最初尝试过的cd project1; svn upgrade 不起作用。
      • 只是想在您的答案中添加一条注释,我 确实 尝试运行 svn upgrade project_name 但收到与其他 svn 命令相同的错误消息。绝对值得先尝试这个选项,如果它有效,会更干净。
      【解决方案4】:

      我遇到了类似的问题,我的 svn 版本是 1.7.10,但是我的 Eclipse 的 Subversion 插件稍微旧一点,我假设是 1.6.something。

      使用“rsync -arC working_directory archive_no_svn”命令是一个突破——至少现在我有一份我刚刚完成的同步小时数的副本。

      我尝试使用“svn co”但它是错误的版本,所以我只是使用 Eclipse 中的 Subversion 插件运行更新 - 这从存储库中恢复了工作目录 - 几乎是我所追求的,它是正确的版本。

      让 rsync 回到正确的位置是一个技巧。 rsync 似乎将工作文件夹放入存档位置,创建archive_location/working_directory/the-files。因此,将归档数据同步回 working_directory 是通过以下方式实现的: rsync -ar archive_no_svn/working_directory .

      现在我必须了解如何将我的 Eclipse 的 Subversion 插件升级到 1.7

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-17
        • 1970-01-01
        • 2012-01-28
        • 2010-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-29
        相关资源
        最近更新 更多