简体   繁体   English

如何将SVN 1.4.4(r25188)升级到SVN 1.6

[英]How to upgrade SVN 1.4.4 (r25188) to SVN 1.6

How do we upgrade our SVN from version 1.4.4 to version 1.6? 我们如何将SVN从1.4.4版升级到1.6版?

I thought we could use the following command line, but it does not exist in our version: 我以为我们可以使用以下命令行,但它在我们的版本中不存在:

svnadmin upgrade

SVN is running on a Windows Server environment. SVN正在Windows Server环境中运行。 We are running SVN Server version: svnadmin, version 1.4.4 (r25188) compiled 2007-06-08T18:49:42. 我们正在运行SVN Server版本:svnadmin,版本1.4.4(r25188)编译2007-06-08T18:49:42。

What kind of server are you using? 你使用什么样的服务器? If you're running apache(http://) or svnserve(svn://), just replace all the svn binaries with the 1.6.3 versions of the binaries (knee jerk nag - backup your repository first, keep the old binaries around). 如果您正在运行apache(http://)或svnserve(svn://),只需将所有svn二进制文件替换为1.6.3版本的二进制文件(knee jerk nag - 首先备份您的存储库,保留旧的二进制文件周围)。 Don't forget to upgrade the apache modules if you're using apache. 如果您使用的是apache,请不要忘记升级apache模块。

If you're not using a server, but running against the files directy (c:\\), just update your clients to use 1.6.3. 如果您没有使用服务器,而是直接针对文件(c:\\)运行,请更新您的客户端以使用1.6.3。

At this point, your new 1.6 server is serving out the 1.4 repository. 此时,您的新1.6服务器正在提供1.4存储库。 To upgrade the repository structure and gain full access to the new features, use the svnadmin upgrade command that comes with the 1.6 binaries. 要升级存储库结构并获得对新功能的完全访问权限,请使用1.6二进制文件附带的svnadmin upgrade命令。 Run this command on a machine that has access to the physical files of the repository and give it the physical location of the repository root (c:\\myrepository). 在可以访问存储库的物理文件的计算机上运行此命令,并为其提供存储库根目录的物理位置(c:\\ myrepository)。

You may get a more optimised repository structure if you dump out the contents with svnadmin dump, create new blank repository, svnadmin load the old dump. 如果使用svnadmin转储转储内容,创建新的空白存储库,svnadmin加载旧转储,则可能会获得更优化的存储库结构。 Read the release notes for 1.5 & 1.6 and the output of "svnadmin help upgrade" to find out why. 阅读1.51.6的发行说明以及“svnadmin help upgrade”的输出以找出原因。

Your clients can upgrade separately, when they're ready. 您的客户在准备好后可以单独升级。 A 1.6 service can talk to a 1.4, 1.5 or 1.6 client, and a 1.6 client can talk to a 1.4 server, so it doesn't matter if you upgrade the clients first. 1.6服务可以与1.4,1.5或1.6客户端通信,1.6客户端可以与1.4服务器通信,因此首先升级客户端并不重要。

Unlike the repository, the working copies on your machines are upgraded as soon as a new client sees them. 与存储库不同,只要新客户端看到您的计算机上的工作副本就会升级。 This means you will have trouble mixing clients of different versions on the same machine, so for example, if you use tortoisesvn and ankh svn - you'll need to update both clients to the 1.6 version at the same time. 这意味着您将无法在同一台计算机上混合使用不同版本的客户端,例如,如果您使用tortoisesvn和ankh svn - 您需要同时将两个客户端更新到1.6版本。 If you get working copy version errors, this will be why. 如果您得到工作副本版本错误,这将是原因。 It won't go away until you stop using the old clients. 在您停止使用旧客户端之前,它不会消失。

As with all things subversion, the redbook is essential. 与颠覆所有内容一样, 红皮书也是必不可少的。

We followed Jim T recommendation and it worked well. 我们遵循Jim T推荐并且运作良好。 We had only one problem with commit: 提交只有一个问题:

svn: Commit failed (details follow): svn: Can't open file /db/txn-current-lock': Permission denied svn:提交失败(详情如下):svn:无法打开文件/ db / txn-current-lock':权限被拒绝

We solved by changing the permissions of files within the db folder. 我们通过更改db文件夹中文件的权限来解决。

The svnadmin command is part of the SVN server package. svnadmin命令是SVN服务器包的一部分。 Be sure you are running the server version of the package (you don't need to run svnadmin on your local client/working copy). 确保您运行的是服务器版本的软件包(您不需要在本地客户端/工作副本上运行svnadmin)。

If you installed a bundled/packaged version, be sure it's the full release. 如果您安装了捆绑/打包版本,请确保它是完整版本。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM