通过代码分支管理软件版本的最佳方法?

时间:2010-03-26 21:35:27

标签: c# .net visual-studio-2008 svn branch

我想定制一个拥有精简版和企业版的现成软件。这些功能几乎相同,因此我的扩展自定义可以同时适用于两者,但我必须为每个版本重新编译,因为它们具有不同的版本程序集。

有人可以帮我建议如何维护吗?我正在使用Visual Studio 2008和Visual SVN。我应该创建2个完全不同的解决方案,创建一个包含重复项目的解决方分支似乎是优雅的路线,但这个想法是什么?从主干创建“精简版”和“企业版”......主干是“精简版”?

1 个答案:

答案 0 :(得分:0)

这取决于您的代码在两者之间的差异程度。在最好的情况下,如果只是链接到不同的程序集版本,请使用NAnt或类似的,只需为每个版本创建一个构建目标。

如果生活不是那么乌托邦,我会在一个分支上创建三个项目:一个类库包含所有公共代码,另一个类库只包含非共享代码。

如果共享代码依赖于那些多版本程序集,那么,就我所知,你或多或少都会手动操作。这意味着维护每个目标分支并在它们之间进行定期合并以保持共享片段同步。使用分布式CMS可以减轻合并的痛苦,并且创建一系列单元测试将有助于减少这些跨项目合并引入的错误数量。