Daniel Berlin <dberlin@dberlin.org> writes:
> > *Ding!* Subversion is using svndiff to *transmit* the text. Those
> > diff packages usually break down to:
>
> I know what they look like *way* too well.
> Remember, i did an svndiff version 1?
> :)
Oh yeah. Still have your patch in my Keepers mailbox for later
application. :-)
> > 'S'
> > 'V'
> > 'N'
> > \0
> > <flag that means 'here comes some new data'>
> > <here's the whole file as fulltext>
> >
> > but the fact remains that we are attempting to svndiff-ify a "delta"
> > that is effectively an "add" of the entire file.
> >
>
> But this doesn't jive with the profile.
"The profile doesn't fit the profile!" (Sorry, I saw a commercial for
that "Murder by Numbers" film last night)
> vdelta is certainly doing compression, it's calling find_match_len,
> etc. That's what is taking so much time.
> It's coming up with a *real* delta of the file against *something*
> (likely an empty string).
>
> Thus, an svndiff that is *not* just the whole file as fulltext with an
> "add new data" op is being generated, which is slow and wrong (it
> *should* be generating the svndiff you've given above).
Oh, sorry, I didn't mean to imply that we weren't doing an extravagant
amount of work just to wind up sending what often looks like just a
single big chunk of new data. I forgot that we have the whole svndiff
compression thing going on, too.
Regardless, your guess is correct: we are trying to generate the
delta between FILE and "".
> If it's not storing it, and something *is* storing the svndiff you
> give above, we need to find what generates the compressed delta for no
> reason and make it stop.
Nothing is storing the diff I gave -- we suffered a miscommunication.
The import routine is using the commit editor to send the file
contents. This means using the editor->apply_textdelta() interface,
which inevitably means...
You know, I see that others are already responding to this thread. So
I'll just stop talking. :-)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Sep 24 19:52:03 2002