All -我在这里阅读了几篇关于 svn 存储库布局最佳实践的文章,不幸的是,它们都没有帮助我决定哪种路线最适合我们,所以我想就如何根据这些信息构建存储库征求您的意见:
- 展望未来,我们的大部分代码都将是用 C# 开发的,并且是 .NET 应用程序。
- 我们以前的Web开发是用Java完成的。 我们在德尔福
- 开发了一些非常旧的程序,这些程序没有太多修改,当我们迁移到新的案例管理系统时,所有德尔福应用程序都将过时。
基于这些信息,您是为所有不同的源代码提供一个存储库,还是为每种类型的源代码(即一个Delphi存储库,一个Java和一个.NET)提供一个存储库?
请记住,在一年左右的时间里,所有的Delphi代码和许多Java代码都将过时。 这让我认为将它们放在单独的存储库中可能是最好的方法,因为我们在迁移后不需要保留任何代码。
所以,我的问题基本上是每种类型的代码都有一个单独的存储库还是 3 个单独的存储库?
谢谢!莱斯利
实际上,决定将什么放入一个存储库应该取决于这些项目/应用程序之间的关系,而不是它们使用的语言。不相关的内容不应位于一个存储库中。
由于这是一个迁移,如果你真的想在之后扔掉它,你可以为新东西(.net)和旧东西(java + delphi)提供单独的存储库。
当您编写"应用程序"时 - 也许您应该考虑新软件的几个存储库!?在一个存储库中放入太多内容会降低其灵活性。根据您的项目真实情况,这也可能意味着您最终会得到几个不同的混合存储库......
你看过 Git 吗?你选择SVN而不是Git有什么原因吗?我之所以问,是因为大约一年前我们完成了转型,而且是夜以继日。对我们来说,你真的无法将我们现在与 Subversion 和 Git 进行比较。这是朝着正确方向迈出的一大步。显然,这是给我们的,所以你的里程可能会有所不同,尤其是你的开发人员也使用什么。
当我们决定切换到 Git 时,我们的情况略有相似。我们整个应用程序和在线状态的多个部分都集中在我们的SVN存储库中。这工作正常,但由于一些不同的原因,我们最终走向了不同的方向,即每个人都可以独立支持自己,并生活在不同的服务器设置上。在为我们迁移到 Git 之前,有一个巨大的推动力来实现这一点,但我们确实从中受益匪浅。现在,我们已将业务流程与主应用程序分开,这为我们的基础架构提供了额外的稳定性和安全性。
当前维护和运行应用程序是否需要所有 Java 和 Delphi 代码?如果答案是肯定的,并且在短期内仍然是肯定的,我肯定会把它全部放在一个回购中。如果你走 Git 路线,如果你绝对想单独维护它们,你可以使用分支来帮助你解决这个问题。但我真的没有看到将它们存储在单独的存储库中有什么好处。重构代码以不再使用它们后,可以轻松地从存储库中删除它们,并且仍然具有与之关联的所有修订历史记录。
当然,这并不知道您的业务和应用程序的所有复杂细节。你会知道在这方面什么是最好的。