我正在创建一个污点/干净的git过滤器。过滤器将需要知道正在过滤的文件的名称,以便它能够执行一些外部操作,这些操作的结果将由过滤器输出。
由于过滤器是从stdin中读取并写入stdout的,所以有什么方法可以使文件名被过滤?。
例如,我想:
git blame $0 | cut -d " " -f 4-6 | sort | uniq | sort | tail -1若要查找此文件中最后一次更改的日期,或:
git grep -I --name-only -e "" -- $0以测试该文件是否为二进制文件。
但是,我需要知道我应该使用什么作为"$0“从过滤器内部来完成这个工作?
发布于 2013-06-09 02:37:41
来自gitattributes 手册
filter命令行上的序列"%f“将被替换为筛选器正在处理的文件的名称。筛选器可能在关键字替换中使用此方法。例如: 过滤"p4“ 清洁=git-p4-过滤器-清洁%f污迹=git-p4-过滤器-污迹%f
也许%f就是你想要的。
https://stackoverflow.com/questions/17004887
复制相似问题