Re: [BUG?] bulk checkin does not respect filters
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:53:08
Junio C Hamano [off-list ref] writes:
Jeff King [off-list ref] writes:quoted
Thoughts? Was this intentional, or just overlooked?
It is a bit curious that anything filtered even goes to the streaming
codepath, given this piece of code in write_entry() in entry.c:
if (ce_mode_s_ifmt == S_IFREG) {
struct stream_filter *filter = get_stream_filter(path, ce->sha1);
if (filter &&
!streaming_write_entry(ce, path, filter,
state, to_tempfile,
&fstat_done, &st))
goto finish;
}
and get_stream_filter() in convert.c has an explicit exception for this
case at the very beginning:
struct stream_filter *get_stream_filter(const char *path, const unsigned char *sha1)
{
struct conv_attrs ca;
enum crlf_action crlf_action;
struct stream_filter *filter = NULL;
convert_attrs(&ca, path);
if (ca.drv && (ca.drv->smudge || ca.drv->clean))
return filter;
to make sure that it says "No streaming filtering is possible, do not even
attempt to call streaming_write_entry()".