2012-10-19 52 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)行。

相關問題