SVN 升级工作副本

我无法执行 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)

怎么修呢?

241712 次浏览

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

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

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

升级工作副本

Subversion 1.7对工作副本进行了重大更改 在以前版本的 Subversion 中,Subversion 将 写入时自动将工作副本更新为新格式 但是,Subversion 1.7将使这成为一个 在使用 Subversion 1.7及其工作副本之前, 用户将需要运行一个新的命令 svn upgrade来更新 元数据转换为新格式。此命令可能需要一段时间 对于一些用户来说,简单地签出一个新的工作状态可能更加实际 收到。
Subversion 1.7发行说明

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

升级工作副本

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

在 TortoiseSVN 1.7中使用现有工作副本之前,您需要 必须先升级格式。如果你右键单击一个旧的工作 拷贝,TortoiseSVN 只在上下文菜单中显示一个命令: 升级工作副本。
TortoiseSVN 1.7版本说明

从 eclipse 中,您可以选择项目,右键单击-> team-> update

这个问题是由于您尝试编译具有比当前使用的 OLderSVN 文件的项目造成的。

解决这个问题有两种方法

  1. 安装与项目 SVN 文件兼容的版本1.6 SVN
  2. 尝试升级项目. . (不总是工作)。

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

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

看到答案由阿列克谢 Shcherbak 在页面的一半。

如果您从 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

更多信息可以在 客户端常见问题解答上找到。

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

关于 MacOS:

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

    Svn 升级

您可以升级到 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 升级

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

更多细节请参考苹果文档。

当有其他工作副本嵌套在您的工作副本中时,您还可能收到关于需要升级工作副本的奇怪消息。我有这个问题与一个 Symphony 项目是一些框架文件夹的工作副本,我认为还没有清理适当之前,他们发布。

在这种情况下,只需要对 .svn进行文件搜索,然后删除您不需要的 .svn文件夹(当然不要在根目录中删除您的文件夹)。