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