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



在.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

然后在我的回购的git配置文件中,我有:

[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脚本只是一行sed脚本,带有多个-e参数,如:

#! /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调用的。但不是全部。我不明白。当我重新检查HEAD时,不会出现错误。

发生了什么事?我的方法中有什么会引起问题吗?

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

相关内容

  • 没有找到相关文章

最新更新