说我有一个在解决方案中使用的.vsprops
文件。在该文件中,定义了各种变量,例如int_dir
用于中间构建结果,log_dir
用于日志结果。
通常,这些变量设置为默认值(相对于解决方案)。
对我来说,我想将这两个变量设置为我的ramdisk(R:
),即不再
$(SolutionDir)\intermediate
但
R:\myproject\intermediate
如果我直接更改.vsprops
文件,源代码管理(Git)会将其标记为已修改。
在VSPROPS中是否有办法可以检查环境变量,如果未设置此变量,则使用默认值?
如果无法做到这一点,我也会对Git解决此问题的解决方案感兴趣(但不是--assume-unchanged
而不是.gitignore
,因为该文件中的其他更改可能是相关的)。
答案 0 :(得分:2)
纯Git解决方案可以使用gitattribute filter driver:
它将涉及在smudge
上执行的git checkout
脚本,该脚本将:
$(SolutionDir)
(例如,测试包含更新路径的环境变量)xxx.vsprops.tpl
)内容(the script doesn't know the file names or path it operates on).vsprops
(模板文件)生成实际的.vsprops.tpl
,该版本是版本化的版本(.vsprops
不再版本化)您可以添加一个clean
脚本,该脚本可以保留(git commit
).vsprops
文件中完成的所有修改回.vsprops.tpl
,但$(SolutionDir)
除外1}}行。