SVN升级工作副本


133

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

如何解决?

Answers:


154

您必须将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发行说明


2
当我发出命令时,svn upgradeUbuntu告诉我“未找到命令”
–geneorama

@geneorama:您已经svn安装了吗?(sudo apt-get install svn
knittl

5
谢谢回复!我确实安装了svn(subversion),但是它是1.6版,没有upgrade命令。如果不添加新的PPA,Ubuntu 12.04将无法安装1.7。 askubuntu.com/questions/65468/...
geneorama

@genorama以下是从1.6 redfinsolutions.com/blog/update-subversion-mac-os-x开始的Mac OS升级svn的说明。对于Linux,我想它是相似的。
Mike Eng 2013年

1
“此命令可能要花一些时间,对于某些用户而言,仅签出一个新的工作副本可能更为实用。” 我运行的命令不知道会发生什么,在2秒钟后,控制台会回复升级为“。”。:P
rabidmachine 9年


6

在MacOS上:

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

    svn升级


3

如果您刚刚在计算机上升级到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的答案。


2

由于您尝试编译包含OLder SVN文件的项目而不是当前使用的项目,因此出现此问题。

您有两种解决方案来解决此问题

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

2

当其他工作副本嵌套在您的工作副本中时,您也可能会收到奇怪的消息,说明需要升级您的工作副本。我在Symphony项目中遇到了这个问题,因为有些框架文件夹正在工作,我想在发布它们之前没有正确清理它们。

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


1

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


1

如果您从Netbeans(7.2+)中收到此错误,则意味着您单独安装的Subversion版本高于Netbeans中的版本。就我而言,Netbeans(v7.3.1)具有SVN v1.7,而我刚刚将SVN升级到了v1.8。

如果您查找Tools > Options > Miscellaneous (tab) > Versioning (tab) > Subversion (pane),请设置Preferred Client = CLI,然后可以为我设置已安装的SVN的路径C:\Program Files\TortoiseSVN\bin

有关更多信息,请参见Netbeans Subversion客户常见问题解答



0

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

屏幕截图警告

您应该选择' Upgrade'按钮升级到Subversion 1.7。这将花费一些时间。

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

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

有关更多详细信息,请参阅Apple文档。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.