Git清理/涂抹过滤器以获取可疑的Vault机密
我正在尝试在git中设置清理/涂抹过滤器,以通过ansible-vault命令对包含机密的文件进行自动加密和解密。 ansible-vault命令的特殊之处在于它不是幂等的(每次在同一数据上调用它都会创建一个不同的二进制文件)。 我从此博客页面建议的实现开始。不幸的是,它无法正常工作,因为每当调用smudge(无论是git checkout还是git status)时,秘密文件的git看起来都是经过修改的,即使不是。 所以我想知道git是否会将他在索引中的二进制文件与干净的过滤后的当前文件进行比较,因此我尝试构建如下的脚本: #!/bin/sh -x # clean filter, it is invoked with %f if [ ! -r "$HOME/.vault_password" ]; then exit 1 fi tmp=`mktemp` cat > $tmp # get the plain text from the binary in the index tmphead=`mktemp` git show HEAD:$1 > $tmphead contenthead=`echo "embedded" | …