如何将1.4.3 TortoiseSVN创建的存储库升级到1.6.x?

时间:2010-04-29 20:26:32

标签: svn tortoisesvn repository upgrade

几年前,TortoiseSVN 1.4.3已部署到我们的软件开发团队,我们现在正在考虑将客户端升级到最新的1.6.x版本。我曾希望这种升级是透明的,其他功能和修改都是客户端的。在大多数情况下,这是真实的除了之外的一个非常重要的特征 - 合并。当我尝试将功能分支合并到卡车中时,我得到一个显示停止的“合并跟踪不支持错误。”

以下是一些值得注意的事实:

  1. 首次创建存储库时(在我加入之前),它是通过TortoiseSVN客户端本身创建的。我们本身没有'SVN服务器守护程序',而是存储库文件夹/数据库驻留在可通过file:///从我们的工作站机器访问的共享文件夹中。这对我来说实际上是一个眼睛;我一直以为我们正在谈论一些SVN服务器守护进程。

  2. 除了能够读取/写入共享本身之外,我们无权访问托管SVN共享的底层计算机。我甚至不知道机器运行的是什么操作系统。选择此共享服务器是因为我们的IT部门每晚都会备份其驱动器。

  3. 老实说,我们确实不需要需要合并跟踪功能,尽管它很棒。目前,能够在1.4.3存储库上使用1.6.x TortoiseSVN客户端并使其合并(没有错误跟踪)就足够了。

  4. 如何在不访问存储库所在的底层计算机的情况下,将客户端创建的1.4.3存储库升级到1.6.x兼容版本?

    我希望TortoiseSVN客户端本身有能力做到这一点,但情况似乎并非如此。

    我是否会被迫将整个存储库复制到本地驱动器,运行一些SVN命令以在本地升级存储库,然后将存储库复制回共享点?如果是这样,如果我们无法同时升级它们,那么这会破坏与1.4.3客户端的任何兼容性吗?

    注意
    根据给出的一些答案,这个问题已完全改写。

2 个答案:

答案 0 :(得分:4)

您需要执行svnadmin -upgrade转换存储库格式。只需确保先备份存储库......以防万一。

在大多数情况下,1.4.x客户端应该能够与1.6.x服务器通信。当然1.6.x服务器具有1.4.x客户端不支持的功能,因此这些功能将不可用。

修改

通过TortoiseSVN创建存储库并不重要。一切都以同样的方式发生。您需要下载Subversion命令行工具才能使用svnadmin。我肯定会首先将存储库复制到本地驱动器,以便您可以尝试升级。如果不升级该存储库,您将被迫放弃新功能。我认为您可以在不影响现有1.4.x客户端的情况下升级存储库,但在更换服务器上存储库的生产副本之前,测试它会毫不费力。

答案 1 :(得分:3)

Based on a compatibility matrix,看起来兼容性应该不是问题。但是,您可能已经遇到过特定的缺失功能。

有关升级,请参阅:

现在可能是重新评估SVN情况的时候了。我无法想象无法访问该机器。我会要求/要求IT人员在进行备份后进行升级(也可以自己进行SVN备份)或授予您访问机器的权限。

至于使用文件// SVN访问:Yikes。我会马上改变它,也可以通过HTTPS获得。我无法想象只能在本地网络上访问它 - 尽管我认为VPN在这种情况下会起作用。