Re: Merge ra-reuse-session branch to trunk or not?
On 19 September 2015 at 19:49, Evgeny Kotkov
> Ivan Zhakov <ivan_at_visualsvn.com> writes:
>> Otherwise, here are my ideas at the moment:
>> 1. Add svn_client_ctx2_t with svn_client_context_create3() that's
>> accept AUTH_BATON as parameter. This will require revv all
>> svn_client_*() functions to create new svn_client_ctx2_t() on every
>> invocation of deprecated function.
>> 2. Add svn_ra_set_auth_baton() function to change AUTH_BATON in
>> existing RA session. But in this case RA session implementation should
>> re-authenticate after every reuse because new AUTH_BATON may have
>> different credentials.
>> 3. Revert r1704048 and wait until next hackathon for better ideas :)
> As a random idea:
> 4. Make each svn_auth_baton_t have a unique ID generated upon creation with
> svn_auth_open(). Place this ID alongside with the baton in the RA session
> pool. Open a new RA session in case the baton's ID does not match the ID
> within the cached session — i.e., do not try to reuse the session if the
> auth baton IDs do not match.
I've tried this idea and it seems to solve problem with AUTH_BATON,
but then I got similar problem with OPEN_TUNNEL_FUNC callbacks: JavaHL
implementation is not ready that tunnel created but JavaHL implemented
callback assumes that created tunnel will not be used after
svn_client_*() call complete.
Given all these problems I'm inclined to revert r1704048 and continue
fixing this problems in branch to keep trunk in stable state. It's
very unlikely that I will be able to solve these problems in next few
Received on 2015-09-19 21:04:50 CEST
This is an archived mail posted to the Subversion Dev