clean/smudge 过滤器如何确定其数据流的文件名?

How can a clean/smudge filter determine its data stream's file name?

相比,cleansmudge 只是过滤器,旨在直接处理文件内容而不会意识到任何 git 功能(因为人们可能想使用本机工具,如 cat 甚至 gzip)。但是是否有任何环境变量或其他方式(除了扫描刚刚收到的文件的回购协议)来获取处理文件的路径?

clean 和 smudge 过滤器每个文件调用一次,带有参数。根据 the documentation(在 filter 部分向下扫描),参数中的 %f 被扩展为文件路径。

请注意,在您可能预料到的某些情况下,涂抹过滤器不会被调用(或重新调用)。这包括 git show(有人告诉我;我还没有测试过)。