@@ -812,6 +812,8 @@ static int apply_multi_file_filter(const char *path, const char *src, size_t len
struct strbuf filter_status = STRBUF_INIT;
const char *filter_type;
+ trace_printf("apply_multi_file_filter()\n");
+
if (!subprocess_map_initialized) {
subprocess_map_initialized = 1;
hashmap_init(&subprocess_map, cmd2process_cmp, NULL, 0);
@@ -412,11 +412,13 @@ int ie_match_stat(struct index_state *istate,
* carefully than others.
*/
if (!changed && is_racy_timestamp(istate, ce)) {
+ trace_printf("'%s' is RACILY clean!\n", ce->name);
if (assume_racy_is_modified)
changed |= DATA_CHANGED;
else
changed |= ce_modified_check_fs(istate, ce, st);
- }
+ } else
+ trace_printf("'%s' is clean\n", ce->name);
return changed;
}
@@ -390,7 +390,11 @@ test_expect_success PERL 'required process filter should filter data' '
EOF
test_cmp_exclude_clean expected.log debug.log &&
- filter_git checkout --quiet --no-progress empty-branch &&
+ GIT_TRACE=2 &&
+ export GIT_TRACE &&
+ filter_git checkout --quiet --no-progress empty-branch 2>trace &&
+ cat trace &&
+ unset GIT_TRACE &&
cat >expected.log <<-EOF &&
START
init handshake complete
@@ -398,6 +402,7 @@ test_expect_success PERL 'required process filter should filter data' '
STOP
EOF
test_cmp_exclude_clean expected.log debug.log &&
+ grep RACILY trace &&
filter_git checkout --quiet --no-progress master &&
cat >expected.log <<-EOF &&
@@ -416,6 +421,7 @@ test_expect_success PERL 'required process filter should filter data' '
test_cmp_committed_rot13 "$TEST_ROOT/test3 '\''sq'\'',\$x=.o" "testsubdir/test3 '\''sq'\'',\$x=.r"
)
'
+test_done
test_expect_success PERL 'required process filter takes precedence' '
test_config_global filter.protocol.clean false &&