From: Lars Schneider <larsxschneider@xxxxxxxxx> If three files processed by a filter are added and committed to a repository then I expect three clean invocations per Git operation. Apparently Git invokes the clean process 12 times. Signed-off-by: Lars Schneider <larsxschneider@xxxxxxxxx> --- It's pretty late here and I hope do not miss something obvious... but can anyone explain to me why the clean operation is executed 12 times for 3 files? Thanks, Lars t/t0021-conversion.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/t/t0021-conversion.sh b/t/t0021-conversion.sh index 7bac2bc..ab3d299 100755 --- a/t/t0021-conversion.sh +++ b/t/t0021-conversion.sh @@ -12,6 +12,12 @@ tr \ EOF chmod +x rot13.sh +cat <<EOF >run.sh +#!$SHELL_PATH + echo "." >> run.count +EOF +chmod +x run.sh + test_expect_success setup ' git config filter.rot13.smudge ./rot13.sh && git config filter.rot13.clean ./rot13.sh && @@ -268,4 +274,28 @@ test_expect_success 'disable filter with empty override' ' test_must_be_empty err ' +test_expect_failure 'required clean filter count' ' + test_config_global filter.run_count.clean ./../run.sh && + test_config_global filter.run_count.required true && + rm -rf repo && + mkdir repo && + ( + cd repo && + git init && + + echo "*.r filter=run_count" >.gitattributes && + + cat ../test.o >test.r && + echo "test22" >test2.r && + echo "test333" >test3.r && + + rm -f run.count && + git add . && + test_line_count = 3 run.count + + rm -f run.count && + git commit . -m "test commit" && + test_line_count = 3 run.count + ) +' test_done -- 2.5.1 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html