Karl wrote, in a commit log:
> As a result of this change, the editor in libsvn_delta/xml_output.c
> has become a reference counting editor, so it can continue to handle
> postfix text-deltas. Wheras formerly its close_edit() took care of
> closing the delta-pkg, now close_directory() has to close the
> outermost tree-delta, while leaving the closing of the delta-pkg for
> free_dir_baton(), which will only get run after the last postfix text
> delta is sent and the top dir baton's reference count reaches zero.
There is no way for an editor to tell when the edit is done except by
counting opens and closes? I hadn't noticed that ramification of the
change #1 proposal and I think it's a total non-starter.
(If you guys actually pointed this out in the description of change #1
and I missed it, then I apologize for not speaking up until now.)
> I'm ready for Greg Hudson to have a swing at it.
I don't really relish debugging this, given how fundamentally you've
changed the design assumptions of the editor. If it's okay, I'm going
to start over and redo the change by keeping a count of the number of
open files in edit_context. That way the deletion of directory batons
doesn't need to be deferred.
Received on Sat Oct 21 14:36:20 2006