假设我有一个在解决方案中使用的.vsprops文件。在该文件中,定义了各种变量,例如用于中间构建结果的int_dir和用于日志结果的log_dir。
通常,这些变量被设置为默认值(相对于解决方案)。
对于我来说,我想将这两个变量设置为我的内存磁盘(R:),即不再
$(SolutionDir)\intermediate但
R:\myproject\intermediate如果我直接更改.vsprops文件,源代码管理(Git)会将其标记为已修改。
在VSPROPS中有没有一种方法可以让我检查一个环境变量,如果没有设置这个变量,就使用默认值?
如果这是不可能的,我也有兴趣为Git提供一个解决方案来克服这一点(但不是--assume-unchanged和.gitignore,因为该文件中的其他更改可能是相关的)。
发布于 2012-10-19 15:42:43
纯Git解决方案可以使用gitattribute filter driver:

它将涉及在git checkout上执行的smudge脚本,该脚本将:
$(SolutionDir) (例如,测试其中包含已更新路径的环境变量).vsprops的正确文件( .vsprops )内容(模板文件)<代码>H216<代码>F217您可以添加一个clean脚本,该脚本将(在git commit上)将.vsprops文件中所做的所有修改保留回.vsprops.tpl,但$(SolutionDir)行除外。
https://stackoverflow.com/questions/12968865
复制相似问题