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