我想在 Windows 7 上创建自定义清洁/污迹过滤器。
这是本地配置文件中的过滤器设置:
[filter "insertSha"]
smudge = cat
clean = 'D:/clean.exe'
这是我的 .gitattributes 文件的内容:
*.sha.cs insertSha
我感兴趣的文件符合过滤条件:
$ git check-attr -a myFile.sha.cs
myFile.sha.cs: insertSha: set
可执行文件 (clean.exe) 未被调用,因为出于跟踪目的,每次执行程序时我都会在已知位置创建一个文件。
我也试过把可执行文件放在其他地方,但也没用。
到目前为止,我发现的所有清洁/污迹过滤器示例仅涉及调用 sed
或类似的方法。
最佳答案
也许你的 .gitattributes
应该说:
*.sha.cs filter=insertSha
我认为 git
为了将来的可移植性(在新版本的 git
中引入新属性)有效地忽略了未知属性,所以它看到你的 insertSha
并且不将其理解为它知道的属性,然后立即忽略它...
关于未在 Windows 上执行 Git clean 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19704509/