Git清理过滤器未在Windows上执行

时间:2013-10-31 10:52:41

标签: git filter

我想在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或类似内容。

1 个答案:

答案 0 :(得分:3)

也许您的.gitattributes应该说:

*.sha.cs filter=insertSha

我认为git为了将来的可移植性而有效地忽略了未知属性(在git的新版本中引入新属性),因此它会看到您的insertSha并且不明白它作为一个它知道的属性,然后立即忽略它......