I script the set up of my build environment. (So the build process can bootstrap itself if it finds itself running on a clean image).
As part of this process, certain dependencies are retrieved from public SVN repositories.
The build machines sit behind a proxy, so I need to configure SVN to use the proxy.
Several of the options that come immediately to mind are unpalatable for various reasons:
Ideally, I should be able to specify the proxy from the command line, but it is not obvious that this is possible. What is the right way to approach this problem?
SVNBook to the rescue!
As you've already mentioned, you can add SVN configuration options to svn
command-line client.
See SVNBook | --config-option
command-line reference.
Sets, for the duration of the command, the value of a runtime configuration option. CONFSPEC is a string which specifies the configuration option namespace, name and value that you'd like to assign, formatted as FILE:SECTION:OPTION=[VALUE]. In this syntax, FILE and SECTION are the runtime configuration file (either config or servers) and the section thereof, respectively, which contain the option whose value you wish to change. OPTION is, of course, the option itself, and VALUE the value (if any) you wish to assign to the option. For example, to temporarily disable the use of the automatic property setting feature, use --config-option=config:miscellany:enable-auto-props=no. You can use this option multiple times to change multiple option values simultaneously.
Here is the sample command-line:
svn checkout ^
--config-option servers:global:http-proxy-host=<PROXY-HOST> ^
--config-option servers:global:http-proxy-port=<PORT> <REPO-URL> <LWC-DIR>
Or use --config-dir
to point svn
command-line client to customized configuration file.
--config-dir DIR
Instructs Subversion to read configuration information from the specified directory instead of the default location (.subversion in the user's home directory).