0

是否可以结合以下属性,如果可以,如何结合?

  • 在我们的版本控制系统中存储一些 Visual Studio 2008 本机 C++ (VCPROJ) 项目文件,供我们团队中使用此 IDE 的开发人员使用。
  • 允许其中一些开发人员调整他们的项目(例如,使用第三方库的调试版本而不是通常的库)。
  • 确保这些修改是在没有版本控制的文件中完成的。

换句话说,我希望允许开发人员在他们的项目中调整一些设置,而不会冒着提交这些更改的风险。

“可选的 VSPROP”文件方法似乎注定要失败,因为 VS2008 拒绝加载引用不存在的 VSPROP 文件的项目......

还有什么建议吗?VS2010可以做到这一点吗?

4

4 回答 4

2

您可能无法执行此操作,但使用生成 vcproj(例如 CMake)的解决方案可以让您执行此操作。使用 CMake 为您的所有项目编写脚本,并有条件地包含一个配置文件(例如,如果存在),开发人员可以更改其设置。

于 2011-02-04T18:40:50.533 回答
0

我们使用一个版本化的“common_configuration”文件夹,以及一个将项目文件从这个“common_configuration”文件夹复制到“project”文件夹的脚本。我们有另一个脚本可以向后复制配置,因此开发人员需要有意识地采取行动将他们的本地更改提交到全局版本控制系统。

它部分地满足了您的需求:

  • 好处:我们有办法为每个人保留一个通用配置,并且不会意外提交本地配置
  • 缺点:盲目复制文件实际上会破坏本地更改。我们忍受它。我们可以编写一些更聪明的合并工具(使用 diff 或 xml 特定操作),但不想花太多时间在支持部署工具上。
于 2011-02-08T10:34:54.453 回答
0

好吧,作为初步解决方案,您可以在初始提交后将项目文件放入 .hgignore 或 .gitignore 之类的文件中。这种方式的更改不会意外地完成。

至少这就是我处理 .hgignore 本身的方式。

于 2011-02-03T13:02:02.107 回答
0

分支可以解决这个问题:你创建一个分支,使用不同版本的第三方,如果结果好的话将更改合并到主干。

于 2011-01-08T19:29:17.850 回答