[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] svnserve to use a global configuration file

From: Blair Zajac <blair_at_orcaware.com>
Date: 2007-03-27 01:57:45 CEST

The point of the patch was not to have to read any per-repository
configuration files. It's not "overriding" the per-repository files
since they are never even read.

The bigger scope of this work was to have a Java Tomcat servlet be able
to create thousands of repositories using JavaHL and not have to
populate all of them with the configuration files. I would rather have
the servlet own the configuration files and spawn a svnserve process and
hand to it with the --config-file option the svnserve configuration
files deployed with the servlet.

This skips the whole mess of having to create symlinks, which Java's
jave.io.File class does not support, so I'd have to shell out or use a
native extension to Java to support.

As a side effect, this has a performance improvements.

Regards,
Blair

Daniel Rall wrote:
> While I haven't reviewed this patch thoroughly, from the description
> I'm not in favor of it. Rather than having the global configuration
> file override any values specified for per-repository configuration,
> shouldn't this work the other way around, as it does for our client
> library configuration files? Per-repository configuration should be
> overlayed on top of a global configuration file.
>
> Thanks, Dan
>
>
> On Sun, 25 Mar 2007, Blair Zajac wrote:
>
>> No review, being impatient and all :), so I committed this in r24119.
>>
>> Regards,
>> Blair
>>
>> On Mar 23, 2007, at 5:03 PM, Blair Zajac wrote:
>>
>>> I would appreciate a review of this. I'll do the commit.
>>>
>>> Regards,
>>> Blair
>>>
>>>
>>> [[[
>>>
>>> Add the ability to specificy a global svnserve configuration file
>>> which will cause svnserve to ignore any per-repository configuration
>>> files. This is enabled with the --config-file command line option.
>>>
>>> * subversion/svnserve/server.h
>>> (serve_params_t):
>>> Add new fields:
>>> cfg - A svn_config_t holding a svnserve config file.
>>> pwdb - A svn_config_t holding a svnserve password file.
>>> authzdb - A svn_authz_t holding a svnserve authorization file.
>>> (load_configs):
>>> New function to load the configuration files.
>>>
>>> * subversion/svnserve/serve.c
>>> (find_repos):
>>> Move the code that loads the configuration, password and
>>> authorization files from here...
>>> (load_configs):
>>> ... into this new function.
>>> (serve):
>>> Instead of setting the server_baton_t's cfg, pwdb, authzdb fields
>>> to NULL, get their initial values from the passed in
>>> serve_params_t.
>>>
>>> * subversion/svnserve/main.c:
>>> (SVNSERVE_OPT_CONFIG_FILE):
>>> New constant for the getopt parsing.
>>> (svnserve__options):
>>> Add a new --config-file command line option that takes a single
>>> argument.
>>> (main):
>>> Set the new fields of the serve_params_t to NULL.
>>> If the --config-file option is used, then call load_configs().
>>>
>>> ]]]
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
>> For additional commands, e-mail: dev-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Mar 27 01:58:01 2007

This is an archived mail posted to the Subversion Dev mailing list.