几年前,TortoiseSVN 1.4.3 被部署到我们的软件开发团队,现在我们正在考虑将客户端升级到最新的 1.6.x 版本。我曾希望这次升级是透明的,因为附加功能和修改都是客户端的。在大多数情况下,这是真的除了一个非常重要的功能——合并。当我尝试将功能分支合并回 truck 时,出现了一个令人震惊的“不支持合并跟踪错误”。
以下是一些值得注意的事实:
首次创建存储库时(在我加入之前),它是通过 TortoiseSVN 客户端本身创建的。我们本身没有“svn 服务器守护程序”,而是存储库文件夹/数据库位于共享文件夹中,可以通过 file:/// 从我们的工作站计算机访问。这实际上让我大开眼界,我一直以为我们正在与某个 SVN 服务器守护程序对话。
除了能够读取/写入共享本身之外,我们无法访问托管 SVN 共享的底层计算机。我甚至不知道该计算机运行的是什么操作系统。之所以选择此共享服务器,是因为我们的 IT 团队每晚都会备份其驱动器。
说实话,我们真的不知道需要合并跟踪功能虽然很好,但目前来说,能够在 1.4.3 存储库上使用 1.6.x TortoiseSVN 客户端并进行合并(无跟踪)且不会出现错误就足够了。
那么现在的问题是,如何将客户端创建的 1.4.3 仓库升级到 1.6.x 兼容版本,而无需访问仓库所在的底层机器? 我希望 TortoiseSVN 客户端本身能够做到这一点,但事实似乎并非如此。
我是否必须将整个 repo 复制到本地驱动器,运行一些 svn 命令在本地升级 repo,然后将 repo 复制回共享点?如果是这样,如果我们不能同时升级它们,这样做是否会破坏与 1.4.3 客户端的兼容性?
谢谢您的帮助。
答案1
为了获得合并跟踪,您需要在存储库上运行 svnadmin upgrade。我认为您无法远程执行此操作,因此您需要复制存储库并对其进行升级,或者让拥有服务器的人对其进行升级。老实说,您也应该升级服务器,这样您就可以在具有 1.6 存储库的 1.6 服务器上运行 1.6 客户端。
1.7 即将推出,它具有许多您可能想要的新功能,因此正确地执行此操作并制定再次执行的程序是值得的。