我们如何将SVN从版本1.4.4升级到版本1.6?
我认为我们可以使用以下命令行,但在我们的版本中不存在:
svnadmin upgrade
SVN正在Windows Server环境中运行。我们正在运行SVN服务器版本:svnadmin,版本1.4.4(r25188)编译2007-06-08T18:49:42。
答案 0 :(得分:32)
您使用的是哪种服务器? 如果您正在运行apache(http://)或svnserve(svn://),只需将所有svn二进制文件替换为1.6.3版本的二进制文件(knee jerk nag - 首先备份您的存储库,保留旧的二进制文件周围)。如果您使用的是apache,请不要忘记升级apache模块。
如果你没有使用服务器,而是直接针对文件(c:\)运行,只需更新你的客户端以使用1.6.3。
此时,您的新1.6服务器正在提供1.4存储库。要升级存储库结构并获得对新功能的完全访问权限,请使用1.6二进制文件附带的svnadmin upgrade命令。在有权访问存储库物理文件的计算机上运行此命令,并为其提供存储库根目录的物理位置(c:\ myrepository)。
如果使用svnadmin转储转储内容,创建新的空白存储库,svnadmin加载旧转储,则可能会获得更优化的存储库结构。阅读1.5&的发行说明。 1.6和“svnadmin帮助升级”的输出以找出原因。
您的客户可以在准备好后单独升级。 1.6服务可以与1.4,1.5或1.6客户端通信,1.6客户端可以与1.4服务器通信,因此首先升级客户端并不重要。
与存储库不同,只要新客户端看到它们,就会升级计算机上的工作副本。这意味着您将无法在同一台计算机上混合使用不同版本的客户端,例如,如果您使用tortoisesvn和ankh svn - 您需要同时将两个客户端更新到1.6版本。如果您得到工作副本版本错误,这将是原因。在你停止使用旧客户之前,它不会消失。
与颠覆一样,redbook至关重要。
答案 1 :(得分:2)
我们遵循了Jim T的建议,效果很好。我们只有一个提交问题:
svn:提交失败(详情如下): svn:无法打开文件/ db / txn-current-lock':权限被拒绝
我们通过更改db文件夹中文件的权限来解决。
答案 2 :(得分:0)
svnadmin命令是SVN服务器包的一部分。 确保您正在运行该软件包的服务器版本(您不需要在本地客户端/工作副本上运行svnadmin)。
如果您安装了捆绑/打包版本,请确保它是完整版本。