Re: [PATCH v2 2/2] convert.c: stream and fast search for binary
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Oct 29, 2016, 12:13 UTC
- Message-ID
- <CACsJy8C6=m9uKc+RcL+jJWmCcKQiPc7Qm92y3zd3aUFp+nOVFA@mail.gmail.com>
- In-Reply-To
- <20161012134727.28365-1-tboegi@web.de>
On Wed, Oct 12, 2016 at 8:47 PM, <tboegi@web.de> wrote:
Show 21 quoted lines
> From: Torsten Bögershausen <tboegi@web.de> > > 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