On Tue, Mar 07, 2006 at 05:26:34PM +0000, Malcolm Rowe wrote:
> On Tue, Mar 07, 2006 at 12:12:45PM -0500, Greg Hudson wrote:
> > It shouldn't be impossible, though. If you can figure out how, go right
> > ahead.
> >
>
> Sure. It shouldn't be impossible.
>
It's not impossible, but it's not worth it either.
libsvn_repos/reporter.c is infected with the assumption that the source
is a simple revision number, and there's no point in littering it with
code to allow the source to be a transaction simply to allow it to be a
superset of svn_repos_dir_delta(), which I now understand that we don't
even really use (and for functionality that doesn't seem particularly
useful).
Part of the reason that I thought it might be easier is the comments
for svn_repos_begin_report():
* Construct and return a @a report_baton that will be paired with some
* @c svn_ra_reporter_t table. The table and baton are used to build a
* transaction in the system; when the report is finished,
* svn_repos_dir_delta() is called on the transaction, driving
* @a editor/@a edit_baton.
... which is utterly wrong, though not in any way that really matters
to a user: we don't implement this by calling svn_repos_dir_delta() and
(more importantly) we don't build a transaction - we drive the editor
directly instead. (If we had built a transaction, I had imagined that I
might be able to implement transaction-as-source by cloning the existing
transaction).
So I'm not going to follow that path anymore. The good news is that I
don't have to understand how svn_repos_dir_delta() might be intended
to differ from svn_repos_begin_report(), nor how to test it, since I
now understand that for my purposes, I only need to change the function
we're actually really using, not both.
Regards,
Malcolm
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Mar 7 20:36:15 2006