2013-05-02 51 views
1

我使用Git和ASP.Net网站,并将密码存储在web.config文件中。为了防止这些人被提交,我设置了配置部分加密,因此该文件的connectionStrings部分被加密 - 除非我解密它以欺骗它。使用PowerShell检查Git临时区域中的xml文件

然后以防止不小心触犯它未加密的,我写我的本地pre-commit钩子调用一个小PowerShell脚本:

# Verifies that web.config's connectionStrings is encrypted. 

[xml]$config = get-content .\Code\SlicerWeb\web.config 
if ($config.configuration.connectionStrings.EncryptedData) { 
    exit 0 
    } 
else { 
    Write-Output "connectionStrings section is not encrypted." 
    exit 1 
    } 

这工作得很好,并且很可能是不够好。但是现在我意识到我真正应该做的是检查索引(暂存区域)中文件的内容,而不是磁盘上的当前文件。

我该如何做一个文件的get-content,因为它存在于索引中?

回答

0

您可以使用:前缀来访问当前索引中的对象。所以这应该工作

[xml]$config = git show :./Code/SlicerWeb/web.config 

(反斜杠路径不在这里工作)

相关问题