> As Jim said in an earlier post, this is technically possible, but it
> makes the interface more "brittle"
That's a reasonable point; either way has its bad cases. What I'm
concerned about for the current approach is that someone might write a
producer which doesn't operate depth-first, and only use it with
consumers who don't care (e.g. libsvn_wc), and then years later when
someone else has cause to use that producer with svn_xml_get_editor()
it doesn't work.
> Actually, the only requirement right now is that apply_delta calls
> happen while the file is open -- that is, between a file_open and
> file_close call, so that the file's baton is active.
I changed this requirement in the commit that started this thread.
For an XML-generating consumer, the apply_delta has to come at a point
when the consumer is ready for it--either inline, or at the end.
There's no way the consumer can do anything intelligent if it gets an
apply_delta while it's, say, in the middle of outputting tree deltas
for a totally different directory.
> It's true that the interface does not prevent the caller from
> retaining a file baton pointer longer than appropriate, and passing
> it as an argument when it's no longer valid
Right, but that's not what I was talking about.
Received on Sat Oct 21 14:36:09 2006