有没有办法对整个开发环境进行版本化?

时间:2010-01-21 13:23:45

标签: version-control development-environment versioning

我将开始在不同的操作系统上构建库,因为它们将在不同的移动平台上运行 有没有办法对整个开发环境进行版本控制,包含操作系统版本以及所有开发工具等等?

我需要这些信息才能从源上冻结重建Lib并获得相同的结果,如果环境不同,则可能不是这种情况。

2 个答案:

答案 0 :(得分:2)

我们实际上使用VMWare来实现该结果。每个重要的版本都会保留完整环境的快照。然后,当我们必须返回时,很容易启动图像,它就在你离开的地方。

答案 1 :(得分:1)

这称为真正的“配置管理”问题(与简单的"Source Code Management" which include RCS and VCS相反)

大多数情况下,“配置”是代码的记录及其与第三方库的依赖关系,但为了真正尊重SCM背后的可重复性原则,重建产品所需的工具也应该进行版本控制。 / p>

这意味着您不只使用一个“组件”(您的源存储库),而是使用多个组件,每个组件都在某些标签上定义您的配置:

  • IDE(例如,您可以对完整的Eclipse目录进行版本化)
  • 语言(您可以对JDK目录进行版本化)
  • 源代码和项目信息(因为您可以添加一些IDE-specific files with your code

然后,根据您的VCS工具:

  • 使用每个组件的特定版本(ClearCase UCM,SVN external,Git子模块,...)定义工作区。
  • 您只在其中一个组件(您的源代码)中工作,其他组件只读它

具体细节取决于您使用的语言,工具和代码,您可能需要将该方法与每个平台的branches相结合,以隔离特定于平台的(希望很小)部分。