Greg Hudson <ghudson@MIT.EDU> writes:
> I think the committer assumed that all editor providers were using the
> default editor, which isn't the case.
>
> However, I have a much bigger problem to bring up. apply_text cannot be
> efficiently marshalled over the network as an editor operation. The
> sender looks at the input streams and constructs a diff, sends diff
> windows over the network, and the receiver is stuck; it can't make
> another apply_text call with just the diffs. That means
> libsvn_ra_svn/editor.c would have to be broken out into N different
> editor implementations, each of which knows how to handle diffs.
>
> So, -1 on apply_text. The editor interface shouldn't work that way.
That's a mighty quick veto you've got there, Tex :-).
The idea is that the editor driver on the other side knows the base
against which to apply the incoming svndiff stream -- so it uses that
base to reconstruct the fulltext.
One purpose of this change is to make svndiff transmission an internal
implementation aspect of an RA layer, so the editor interface doesn't
have to concern itself with the details of transmission.
The "source" editor's apply_text() is free to use base and target to
construct svndiff, GNU diff, or anything else, as long as it's worked
out the details with the receiving driver. The editors themselves
won't need to worry about it.
-Karl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Feb 2 00:42:24 2003