On Wed, Dec 12, 2012 at 9:30 PM, C. Michael Pilato <cmpil...@collab.net> wrote:
> On 12/12/2012 03:02 PM, Lieven Govaerts wrote:
>> On Tue, Dec 11, 2012 at 9:29 PM, C. Michael Pilato <cmpil...@collab.net> 
>> wrote:
>>> Those technical challenges aside, I've since started to doubt the wisdom of
>>> adding special treatment of the starting revision to this API anyway.  I'll
>>> continue pondering other options.
>>>
>>
>> What about my earlier suggestion?
>
> I considered it.
>
> And ... then I considered it a nasty hack.  Seriously, this is really not
> the kind of thing that *should* be exposed through an API.
>
>    ...
>    svn_boolean_t honor_editor_api_promises;
>    ...
>
> Really?  :-)
>

Depends a bit on how you name that function of course, you could call
it relax_editor_depth_first_promise(svn_boolean_t) - with default to
true. This is my reading of the conclusion of your issue 2932: we're
relaxing the rules a bit, but we think it's safe to do so we make this
the new default.

> It does occur to me that one way to work around this is to add an API that
> seems generally useful:
>
>   svn_ra_do_checkout()
>
> This would be Yet Another Flavor Of Update-ish Thing, but wouldn't generate
> a reporter/reporter_baton pair, and would immediately begin driving the
> provided editor/editor_baton.  And ra_serf's implementation thereof would,
> of course, use send-all mode.

Note that send-all is not the solution if the server insists on skelta
mode (see my previous comment), so if you do an update or a checkout,
you still have to tell serf to limit to one connection.

>
> svnrdump is only trying to do essentally that anyway -- a update of
> ${NOTHING} to ${SOME_REV}.  It calls svn_ra_do_update(), uses the provided
> reporter to say "I've got nothing", then finalizes the report and away she
> goes.  Would it not be more straightforward to offer a compact API for just
> those sorts of use-cases -- the "fake update from nothing to something"
> use-cases?

Maybe, but would anything else besides svnrdump use this new API? svn
checkout/export solve this in a different manner already.

Lieven

Reply via email to