代码之家  ›  专栏  ›  技术社区  ›  Gilad Naor

升级到SVN 1.5

  •  3
  • Gilad Naor  · 技术社区  · 16 年前

    据我所知,SVN1.5为合并操作提供了更好的支持。所以我正在考虑从SVN 1.4升级。存储库位于本地文件中(或多或少),我从命令行使用SVN。

    我能预料到什么障碍,在没有合并数据的情况下,SVN1.5如何处理现有的存储库?

    编辑: 尤其是在我跑步后 svnadmin upgrade ,SVN将如何处理上次在1.4时代合并的分支的合并?

    而且确实 svn-populate-node-origins-index 和这有什么关系吗?

    参考文献: http://subversion.tigris.org/svn_1.5_releasenotes.html

    4 回复  |  直到 16 年前
        1
  •  5
  •   Jim T    16 年前

    升级应该是顺利的,但是你不会得到任何神奇的合并好处,直到合并信息填充-这不会发生,直到你开始使用它。

    我发现合并信息的唯一实际好处是能够看到两个分支之间的潜在合并列表,以及 知道 哪些修订已经合并。它不会直接影响产生的冲突的数量,但允许您在跟踪哪里发生的冲突时保持清醒。升级前执行的合并不会造成问题,它们只是再次显示为潜在合并,即使它们已经完成。

    也就是说,合并信息只是一个名为svn:merge info的svn属性,格式如下:

    /Project/name/trunk:1355-3985,4019,4026-4437,4478,4481
    

    这是我们的一个项目发布分支上的实际合并信息,它确切地告诉我们将发布来自主干的哪些修订。 这意味着,在您需要它的地方,以及在您可以解决它的地方,您可以手动填充mergeinfo并获得所有的好处——这就是我们在前面的早期修订中所做的。

    也值得一看 reshard.py 尤其是当存储库很大并且在Windows上时。1.4fsfs fsfs存储库格式将所有修订放在同一文件夹中的单独文件中,Windows在经过几千次修订后开始对此进行爬行。1.5分片将修订分为1000个单独的文件夹。1.6将允许我们将旧版本合并为一个大版本文件。

        2
  •  1
  •   Jan Jungnickel    16 年前

    升级很简单。在大多数方面,颠覆是向后兼容的。但是,您应该使用 svnadmin upgrade .

    据我所知,合并跟踪只对升级后的合并有效。没有真正的方法来重建丢失的信息。

    也, svn-populate-node-origins-index 应该在该存储库上运行,但由于链接文件中列出的原因(请参阅用法摘要)。

        3
  •  0
  •   Daniel Rikowski    16 年前

    根据开发环境的不同,您可能需要更新绑定。例如,NetBeans 6.2不适用于SVN 1.5。

        4
  •  0
  •   Jason84    16 年前

    有许多工具可以将存储库从Subversion/CVS转换为完全不同的类型。尽量不要争论,我建议你看看其他所有选项,自己决定是否有任何选项可以让生活变得更容易,比如分布式版本控制系统。 Git 是一个自称更好的人。