On Thu, Nov 30, 2000 at 05:01:25PM -0600, Ben Collins-Sussman wrote:
>...
> > + /* Ask the network layer to update a working copy from URL.
> > +
> > + The network layer returns a COMMIT_EDITOR and COMMIT_BATON to the
> > + client; the client then uses it to transmit an empty tree-delta
> > + to the repository which describes all revision numbers in the
> > + working copy.
> > +
> > + There is one special property of the COMMIT_EDITOR: its
> > + close_edit() function. When the client calls close_edit(), the
> > + network layer then talks the repository and proceeds to use
> > + UPDATE_EDITOR and UPDATE_BATON to patch the working copy!
> > +
> > + When the update_editor->close_edit() returns, then
> > + commit_editor->close_edit() returns too. */
> > svn_error_t *(*svn_ra_do_update) (void *session_baton,
> > + svn_delta_edit_fns_t **commit_editor,
> > + void **commit__baton,
> > + svn_delta_edit_fns_t *update_editor,
> > + void *update_baton,
> > svn_string_t *URL);
Per my previous note, I'm unclear on why *two* passes are needed. Why can't
we fetch updates during the initial, version-reporting crawl?
I disagree with the term "commit" in the above API. We aren't committing
anything; we're simply reporting version numbers. Yes, the RA layer might
use the same editor, but I doubt the RA layer will (therefore, using the
name "commit" will be confusing).
Note that the URL parameter is probably a little bogus. I'm guessing that
that information will be within the session somehow. We also have the
SVN/repository file to clue us in.
Cheers,
-g
--
Greg Stein, http://www.lyra.org/
Received on Sat Oct 21 14:36:15 2006