Re: [PATCH v2 2/2] convert.c: stream and fast search for binary
From: Duy Nguyen <hidden>
Date: 2016-10-29 12:14:24
On Wed, Oct 12, 2016 at 8:47 PM, [off-list ref] wrote:
From: Torsten Bögershausen <redacted> When statistics are done for the autocrlf handling, the search in the content can be stopped, if e.g - a search for binary is done, and a NUL character is found - a search for CRLF is done, and the first CRLF is found. Similar when statistics for binary vs non-binary are gathered: Whenever a lone CR or NUL is found, the search can be aborted. When checking out files in "auto" mode, any file that has a "lone CR" or a CRLF will not be converted, so the search can be aborted early. Add the new bit, CONVERT_STAT_BITS_ANY_CR, which is set for either lone CR or CRLF. Many binary files have a NUL very early and it is often not necessary to load the whole content of a file or blob into memory. Split gather_stats() into gather_all_stats() and gather_stats_partly() to do a streaming handling for blobs and files in the worktree.
Maybe break this commit down a bit? the gather_all_stats and gather_stats_partly() seem independent and can standalone. So is the blob streaming, and get_convert_stats_wt. -- Duy