SVN升级工作副本

时间:2011-11-03 08:37:09

标签: svn version working-copy

我不能做SVN提交。我收到这个错误:

org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded
svn: Working copy 'C:\.... is too old (format 10, created by Subversion 1.6)

如何解决?

10 个答案:

答案 0 :(得分:151)

您必须将您的subversion客户端升级到至少1.7。

使用命令行客户端,您必须通过发出命令svn upgrade手动升级工作副本格式:

  

升级工作副本

     

Subversion 1.7对工作副本进行了重大更改   格式。在以前的Subversion版本中,Subversion会   写入时自动将工作副本更新为新格式   操作进行。然而,Subversion 1.7将使这成为一个   手动步骤。在使用Subversion 1.7及其工作副本之前,   用户将需要运行新命令svn upgrade来更新   元数据到新格式。此命令可能需要一段时间,并且可能   一些用户,简单地检查新工作可能更实际   副本。
   - Subversion 1.7 Release Notes

TortoiseSVN将使用下一个写操作执行工作副本升级:

  

升级工作副本

     

Subversion 1.7对工作副本进行了重大更改   格式。在以前的版本中,Subversion会自动更新   写入操作时,工作副本为新格式   执行。然而,Subversion 1.7将使这成为一个手动步骤。

     

在使用TortoiseSVN 1.7的现有工作副本之前,您   必须先升级格式。如果右键单击旧工作   复制,TortoiseSVN只在上下文菜单中显示一个命令:   升级工作副本。
   - TortoiseSVN 1.7 Release notes

答案 1 :(得分:57)

来自eclipse,你可以选择项目,右击 - > team-> upgrade

答案 2 :(得分:5)

在MacOS上:

  1. here获取最新编译的SVN客户端二进制文件。
  2. 安装。
  3. 将二进制文件添加到路径(最后一个安装屏幕说明如何)。
  4. 打开终端并在项目目录中运行以下命令:

      

    svn upgrade

  5.   

答案 3 :(得分:2)

这个问题是由于您尝试编译的项目中包含的OLD SVN文件比您当前使用的文件要好。

您有两种解决方案可以解决此问题

  1. 安装版本1.6 SVN以与项目SVN文件兼容
  2. 尝试升级项目..(并不总是有效)。

答案 4 :(得分:2)

如果你刚刚在你的机器上升级到SVN 1.7(就像我刚才那样),并且Eclipse工作区中有很多需要升级的项目,你可以在Unix-baesd的终端窗口中执行以下操作系统:

cd [eclipse/workspace] # <- you supply the actual path here

for file in `find . -depth 2 -name "*.svn"`; do svn upgrade `dirname $file` ; done;

在谷歌搜索后,我发现了似乎与Windows用户相同的东西:

http://www.rqna.net/qna/mnrmqn-how-to-find-all-svn-working-copies-on-win-xp.html

请看Alexey Shcherbak在页面中间的答案。

答案 5 :(得分:1)

升级到最新版本的Tortoise-SVN后,我需要先进行“升级”(而不是“更新”)。

答案 6 :(得分:1)

如果您从Netbeans(7.2+)收到此错误,则表示您单独安装的Subversion版本高于netbeans中的版本。在我的情况下,Netbeans(v7.3.1)有SVN v1.7,我刚刚将我的SVN升级到v1.8。

如果您查看Tools > Options > Miscellaneous (tab) > Versioning (tab) > Subversion (pane),请设置首选客户端= CLI ,然后您可以设置已安装的SVN的路径,对我而言C:\Program Files\TortoiseSVN\bin

可以在Netbeans Subversion Clients FAQ上找到更多内容。

答案 7 :(得分:1)

在Visual Studio中使用AnkhSVN,解决方案资源管理器中的解决方案的上下文菜单下还有一个“升级工作副本”选项(如果适用)。

答案 8 :(得分:1)

当有其他工作副本嵌入您的工作副本时,您还可能会收到有关升级工作副本的奇怪消息。我有一个Symphony项目的问题是一些框架文件夹是工作副本,我想在发布之前没有正确清理。

在这种情况下,只需搜索.svn的文件,然后删除您不想要的.svn文件夹(当然不要删除您的文件夹)。

答案 9 :(得分:0)

您可以升级到Subversion 1.7。为了更新到Subversion 1.7,您必须在Xcode 5或更高版本中启动现有项目。这将提示警告“The working copy ProjectName should be upgraded to Subversion 1.7”(如下面的屏幕截图所示)。

Screenshot for warning

您应该选择“Upgrade”按钮升级到Subversion 1.7。这将需要一些时间。

如果您使用终端,则可以通过在项目目录中运行以下命令升级到Subversion 1.7: svn upgrade

请注意,一旦有upgraded to Subversion 1.7 you cannot go back to Subversion 1.6.

Refer Apple docs for more details.