git - 在gitattributes文件的一行中,使用多个过滤器是否存在固有的问题?

  显示原文与译文双语对照的内容
0 0

gitattributes文件中每行有多个git属性? 如果是这样,他们会在什么时候执行?

我一直在看到一些奇怪的行为,它们不会被人们所期望的时尚执行。

下面是我所引用的一个。gitattributes文件的示例:


app*.php filter=infosafe_smudge_test filter=infosafe_smudge_test_staging filter=infosafe_clean_live filter=infosafe_clean_test filter=infosafe_clean_staging filter=infosafe_clean_test_staging filter=infosafe_global
/tests/config/framework.php filter=path_test
.gitattributes merge=ours

然后在我的repo 配置文件中,我有:


[filter"infosafe_clean_test"]
 clean =.. /filters/sensitive_values_remover_test.sh
[filter"infosafe_clean_live"]
 clean =.. /filters/sensitive_values_remover_live.sh
[filter"infosafe_clean_staging"]
 clean =.. /filters/sensitive_values_remover_staging.sh
[filter"infosafe_clean_test_staging"]
 clean =.. /filters/sensitive_values_remover_test_staging.sh
[filter"infosafe_smudge_test"]
 smudge =.. /filters/sensitive_values_inserter_test.sh
[filter"infosafe_smudge_live"]
 smudge =.. /filters/sensitive_values_inserter_live.sh
[filter"infosafe_smudge_staging"]
 smudge =.. /filters/sensitive_values_inserter_staging.sh
[filter"infosafe_smudge_test_staging"]
 smudge =.. /filters/sensitive_values_inserter_test_staging.sh

等等.

单个 shell 脚本只是一个带有多个-e参数的行sed脚本,如下所示:


#!/bin/sh -f 
sed 
-e 's|string to find|string to replace|' 
-e 's|string to find 2|string to replace 2| 
$1

当然,它们是可以执行的并且权限是正常的。 所有的shell 脚本已经测试过了,所以我知道如果在 命令行 上使用它们,。

一些 shell 脚本似乎被git调用了。 但不是全部,我不理解。 当我re-check-out时没有出现错误。

怎么了我的方法中有什么会引起问题?

时间: 原作者:

0 0

死。每行不能有多个筛选器。

原作者:
...