On Fri, Sep 4, 2009 at 6:54 PM, TK Soh<teekay...@gmail.com> wrote:
> On Fri, Sep 4, 2009 at 1:19 PM, Steve Borho<st...@borho.org> wrote:
>> On Fri, Sep 4, 2009 at 12:37 AM, TK Soh<teekay...@gmail.com> wrote:
>>> I was just informed recently by some of my colleagues that they
>>> couldn't do partial commit on some of the larger text files, as a
>>> "..is larger than the specified max diff size" message was displayed
>>> in place of the diff hunks. Some hacking on the source brought me to
>>> tortoisehg.maxdiff added in the effort to improve performance on large
>>> binary diffs.
>>>
>>> There are a few issues on the current implementation:
>>> 1. it's not clear what the message really mean, and how users to react
>>> to it. Some additional/clearer note in the warning message will help.
>>
>>> 2. it'd be nice to support to toggle displaying the diffs in-place
>>> (add a button or something), and let user decide to accept the
>>> performance hit, which should still be tolerable since it's done on
>>> per-file basis.
>>
>> Sure, patches welcome for both of these..
>>
>>> 3. right now the decision on whether to display the diff hunks is
>>> based solely on the file size (please correct me if I'm wrong),
>>> disregarding the file type (binary or text). I believe the original
>>> intend is to check on the binary file. Can the binary check be added?
>>
>> The binary check cannot be done without fetching the entire file from
>> the revlog, which is generally the most expensive operation.
>> Generating binary diffs isn't more expensive than text diffs, so the
>> file size is the fairest limit.
>
> Should it be enough to fetch just the first X kbytes of the file?

Only if you are diffing against the working directory.  But as I said,
the 'binariness' of the file has little bearing on the performance
cost of doing the diff.  The cost is mainly a function of the file
size, which can be fetched without reading the file contents.

--
Steve Borho

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Tortoisehg-develop mailing list
Tortoisehg-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop

Reply via email to