I had a similar problem and realized it was because I had a single character
that was considered 'binary' by fossil's diff'ing algorithm and got the
behavior you're seeing.  My local copy of fossil has LENGTH_MASK_SZ set to 24
and the following patch (previously sent to the list) to alleviate the problem
locally.  I'd be interested to know if it fixes your problem.

Bill

--- src/doc.c
+++ src/doc.c
@@ -58,11 +58,12 @@
   
   x = (const unsigned char*)blob_buffer(pBlob);
   n = blob_size(pBlob);
   for(i=0; i<n; i++){
     unsigned char c = x[i];
-    if( c<=0x1f && isBinary[c] ){
+    /* If a NULL byte is found, mark as binary */
+    if( !c ) {
       break;
     }
   }
   if( i>=n ){
     return 0;   /* Plain text */


On Fri, Jun 10, 2011 at 04:16:31PM -0400, Jesse Goerz wrote:
> Hello,
> 
> I have checked in some perl files that had some very large one line
> blobs.  These blobs were much longer than the LENGTH_MASK (8192)
> characters.  At that point I got the subject message every time I
> changed the file and diffed it.  I have since removed the one line blobs
> and have confirmed that the longest line in the file is less than the
> LENGTH_MASK.  
>  
> $ awk '{ if( length > L ) { L=length} }END{ print L}' file.pm
> 2805
> $ wc -l file.pm
> 2566 file.pm
> 
> However, it still gives me the subject message.  Everything else is
> fine, I just can't see the diffs.  I'm assuming this is because of
> what's already in the repository.  
> 
> I am considering removing it from the repository and re-adding it,
> however, I haven't read up on this enough yet.  Is this the best
> approach or is there something simpler/safer?
> 
> Jesse
> 
> _______________________________________________
> fossil-users mailing list
> [email protected]
> http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to