2012-10-19 53 views
1

假设我在解决方案中使用了.vsprops文件。在该文件中,定义了各种变量,例如中间生成结果的int_dir和日志结果的log_dir如何仅在VSPROPS变量尚不存在的情况下设置VSPROPS变量?

通常,这些变量被设置为默认值(相对于解决方案)。

对于我来说,我想这两个变量设置为我的RAMDISK(R:),即不再

$(SolutionDir)\intermediate 

R:\myproject\intermediate 

如果我直接的改变.vsprops文件源代码管理(Git)会将其标记为已修改。

在VSPROPS中有没有办法让我可以检查一个环境变量,如果这个变量没有设置,默认是使用?

如果这是不可能的,我也会对Git的解决方案感兴趣,以解决此问题(但不是--assume-unchanged而不是.gitignore,因为该文件中的其他更改可能是相关的)。

回答

1

纯Git的解决方案可以使用gitattribute filter driver

content filter

这将涉及smudge脚本,在git checkout执行,这将:如果你想改变$(SolutionDir)

您可以添加clean脚本将保持(在git commit.vsprops文件中完成的所有修改回到.vsprops.tpl,除了$(SolutionDir)行。

相关问题