You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Garrett Rooney <ro...@electricjellyfish.net> on 2003/02/05 03:58:44 UTC

[PATCH] pushing client config information into svn_client_ctx_t

here's the beginnings of pushing the client's config options into 
svn_client_ctx_t and passing it down into the library functions that 
need it, rather than having the libraries read them in themselves 
whenever they need the info.  it's not done, but i've set things up so 
the rest shouldn't take long, i just need to push the config options 
far enough down into the ra layers to replace the config options being 
used there.

the general idea is we add an apr_hash_t member to svn_client_ctx_t 
which is keyed off of const char *'s and holds svn_config_t's.  the 
client loads the config options it cares to provide at startup, with 
each 'file' worth of options going under that key (i.e. the config from 
~/.subversion/config has the key "config").  the ra layer's open 
function takes this type of hash as an argument (since we can't forsee 
what kind of config options ra layers will need, and passing it in at 
open time means the ra layer can cache it in the session), and other 
libraries (libsvn_wc or libsvn_subr so far) just have the function 
which needs it accept the a svn_config_t argument (which can be NULL).

anyway, i just wanted to see if anyone had any ideas about this before 
i take it any further.  note that this is /very/ lightly tested...  
i've run 'svn st' and it seems to be picking up my default ignores 
fine, so it at least sort of works, but anything further than that very 
well could crash, eat your homework, kill your dog...

thanks,

-garrett

(oh, and i promise after this i'll actually work on that cancelation 
thing that was the motivation for all this stuff ;-) )


Re: [PATCH] pushing client config information into svn_client_ctx_t

Posted by Branko Čibej <br...@xbc.nu>.
Garrett Rooney wrote:

> (oh, and i promise after this i'll actually work on that cancelation
> thing that was the motivation for all this stuff ;-) )

Maybe you could put another item on your todo list: at the moment, we're
storing apr_xlate context handles in pool userdata. That's really not
very nice; it might be better to hang them off the client context instead.

But do the cancellation stuff first, by all means. :-)

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] pushing client config information into svn_client_ctx_t

Posted by Philip Martin <ph...@codematters.co.uk>.
Greg Hudson <gh...@MIT.EDU> writes:

> On Wed, 2003-02-05 at 10:15, Philip Martin wrote:
> > I was considering doing something about this.  I suspect that reading
> > the config files is the main reason the regression tests take
> > significantly longer over ra_dav compared to ra_local/ra_svn.
> 
> Seems unlikely; ra_svn also has to read the config files to decide
> whether or not to use a tunnel agent.

Ahh, but ra_dav doesn't just do it once, it reads the config for
*every* file retrieved during a checkout.  At least it did until
Garrett's recent patch.

-- 
Philip Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] pushing client config information into svn_client_ctx_t

Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On Sunday, February 9, 2003, at 03:22 PM, Greg Hudson wrote:

> On Wed, 2003-02-05 at 10:15, Philip Martin wrote:
>> I was considering doing something about this.  I suspect that reading
>> the config files is the main reason the regression tests take
>> significantly longer over ra_dav compared to ra_local/ra_svn.
>
> Seems unlikely; ra_svn also has to read the config files to decide
> whether or not to use a tunnel agent.

actually philip did throw together a patch to test this, which he sent 
to me and i incorporated into the patch i committed.  it turns out to 
make very little difference in speed for make check over dav.

-garrett


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] pushing client config information into svn_client_ctx_t

Posted by Greg Hudson <gh...@MIT.EDU>.
On Wed, 2003-02-05 at 10:15, Philip Martin wrote:
> I was considering doing something about this.  I suspect that reading
> the config files is the main reason the regression tests take
> significantly longer over ra_dav compared to ra_local/ra_svn.

Seems unlikely; ra_svn also has to read the config files to decide
whether or not to use a tunnel agent.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] pushing client config information into svn_client_ctx_t

Posted by Garrett Rooney <ro...@electricjellyfish.net>.
Philip Martin wrote:

>Garrett Rooney <ro...@electricjellyfish.net> writes:
>
>  
>
>>i just need to push the config options
>>far enough down into the ra layers to replace the config options being
>>used there.
>>    
>>
>
>I was considering doing something about this.  I suspect that reading
>the config files is the main reason the regression tests take
>significantly longer over ra_dav compared to ra_local/ra_svn.  As a
>quick fix I was going to ty caching the parsed config in the ra_dav
>session baton.  Do you have a timescale for your changes?
>  
>

assuming nobody has any issues with them, i should have it finished up 
and committed tomorrow or friday.

-garrett


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] pushing client config information into svn_client_ctx_t

Posted by Philip Martin <ph...@codematters.co.uk>.
Garrett Rooney <ro...@electricjellyfish.net> writes:

> i just need to push the config options
> far enough down into the ra layers to replace the config options being
> used there.

I was considering doing something about this.  I suspect that reading
the config files is the main reason the regression tests take
significantly longer over ra_dav compared to ra_local/ra_svn.  As a
quick fix I was going to ty caching the parsed config in the ra_dav
session baton.  Do you have a timescale for your changes?

-- 
Philip Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org