"Matt Cooper via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > +# This clean filter writes down the size of input it receives. By checking against > +# the actual size, we ensure that cleaning doesn't mangle large files on 64-bit Windows. > +test_expect_success EXPENSIVE,SIZE_T_IS_64BIT,!LONG_IS_64BIT \ > + 'files over 4GB convert on input' ' > + test-tool genzeros $((5*1024*1024*1024)) >big && > + test_config filter.checklarge.clean "wc -c >big.size" && > + echo "big filter=checklarge" >.gitattributes && > + git add big && > + test $(test_file_size big) -eq $(cat big.size) > +' I would have expected that the clean filter to be sending the count to its standard output (to be hashed and made into a blob object), and the test wuld be doing "git cat-file blob :big" to read the contents of the raw blob, bypassing the filter system. But we are testing with only a single path anyway, use of this single extra file is OK. Looking good.