【问题标题】:svn repository layout - opinions neededsvn 存储库布局 - 需要意见
【发布时间】:2012-04-11 20:19:01
【问题描述】:

全部 - 我在这里阅读了几篇关于 svn 存储库布局最佳实践的文章,不幸的是,它们都没有帮助我确定最适合我们的路线,所以我想就如何根据这些信息构建存储库征求您的意见:

  1. 我们的大部分代码将在 C# 中开发并成为 .NET 应用程序。
  2. 我们之前的 Web 开发是用 Java 完成的。
  3. 我们有一些用 Delphi 开发的非常旧的程序,没有进行太多修改,当我们迁移到新的案例管理系统时,所有 Delphi 应用程序都将过时。

基于这些信息,您是否会为所有不同的源代码创建一个存储库,或者为每种类型的源代码(即一个 Delphi 存储库、一个 Java 和一个 .NET)提供一个存储库?

请记住,在一年左右的时间里,所有的 Delphi 代码和大量的 Java 代码都将过时。这让我认为将它们放在单独的存储库中可能是最好的方法,因为我们不需要在迁移后保留任何代码。

所以,我的问题基本上是对于每种类型的代码,您会拥有一个存储库还是 3 个单独的存储库?

谢谢! 莱斯利

【问题讨论】:

    标签: svn visualsvn-server repository-design


    【解决方案1】:

    实际上,关于将哪些内容放入一个存储库的决定应取决于这些项目/应用程序的相关性,而不是它们使用的语言。不相关的东西不应放在一个存储库中。

    因为这是一个迁移,如果你真的想在之后把它扔掉,你可以为新的东西 (.net) 和旧的东西 (java+delphi) 设置单独的存储库。

    当您编写“应用程序”时 - 也许您应该考虑为新软件提供几个存储库!?将太多内容放入一个存储库会使其灵活性降低。根据您的项目的实际情况,这也可能意味着您最终会得到几个不同的混合存储库...

    【讨论】:

    • 大部分项目/应用程序根本不相关。我们有一个官员登记申请和一个引文条目应用程序和一个听证会显示应用程序,可以在法庭外运行,显示预定的听证会(以及其他)。 Check in 和 Hearing Display 应用程序都需要知道今天的听证会,而不是 Citation Entry。所以我会在我的共享库中构建一个 getTodaysHearings 函数,但是这两个应用程序源不会有任何关系。
    【解决方案2】:

    你看过 Git 吗?您选择 SVN 而不是 Git 有什么原因吗?我之所以这么问,是因为我们大约在一年前进行了过渡,而且是夜以继日。对我们来说,你真的无法将我们现在与 Subversion 和 Git 相比。这是朝着正确方向迈出的一大步。显然这是给我们的,所以你的里程可能会有所不同,尤其是你的开发人员也使用什么。

    当我们决定切换到 Git 时,我们的情况略有相似。我们的整个应用程序和在线存在的多个部分都集中在我们的 SVN 存储库中。效果很好,但由于几个不同的原因,我们最终走向了不同的方向,即每个人都可以独立支持自己,并且生活在不同的服务器设置上。在为我们迁移到 Git 之前,有一个巨大的推动力来实现这一点,但我们确实从中受益。我们现在已经将我们的业务流程与我们的主应用程序分开,这使我们的基础设施具有更高的稳定性和安全性。

    目前是否需要所有 Java 和 Delphi 代码来维护和运行您的应用程序?如果答案是肯定的,并且在短期内仍然是肯定的,我肯定会把它全部放在一个回购中。如果你走 Git 路线,如果你绝对想单独维护它们,你可以使用分支来帮助你。但是我真的认为将它们存储在单独的存储库中并没有多大好处。重构代码以不再使用它们后,您就可以轻松地将它们从存储库中删除,并且仍然拥有与之关联的所有修订历史记录。

    这当然是不知道您的业务和应用程序的所有复杂细节。你会知道在这方面什么是最好的。

    【讨论】:

    • 我从来没有听说过 Git——而且我不喜欢一个源代码控制系统而不是另一个,但是我们现在没有源代码控制,所以我试图至少有一些东西!当前需要所有的 Java 和 Delphi 代码,但是当我们转换所有的 Delphi 时,大多数 Java 将过时并用 .NET 重新编写
    • 如果是我,我可能只会做一个回购,但这当然只是我个人的看法。如果您有时间,请查看 progit.org。 Git 更难设置,但在我看来它是值得的。 VCS 的坏处在于,一旦您做出选择并使用了一段时间,就很难在中型或大型时间内进行切换。肯定会有很多阻力,因为它是“不同的”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 2010-10-05
    • 2011-11-10
    相关资源
    最近更新 更多