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

Very esoteric problem

From: Campbell, Matthew A <Matthew.Campbell_at_Relizon.com>
Date: 2004-06-29 21:47:19 CEST

Is there any way to recursively checkout only certain files (EG: matching a
certain filemask) from a "root point" (like /trunk) of a repository, run a
script which will modify them all, then recursively commit the changes?

I'm not holding my breath here - I expect the answer is "no". It certainly
doesn't look do-able with the svn command-line client. Is there any
possibility of doing it somehow using the library and/or SWIG bindings? Or
am I (as I'm beginning to suspect) trying to break part of the fundamental
design/architecture of Subversion?

See below for more background and the "obvious" solution, which is workable
- if unpleasant.

Our repository holds code for all client-specific data processing
applications and related config files in /trunk/<client_id> - where
client_id is an in-house 3-character ID code for the client in question.
There are something like 160 unique client_id's in the repository. The
repository is located off-site in a remote facility halfway across the

Among the files in each client_id directory, along with source code and
shell scripting, are configuration files for a suite of proprietary
third-party programs. Periodically (roughly 3 times each year) the vendor
releases an update to these programs which requires global modification of
all job configuration files. (The config files are actually so
version-specific that the version number of the product is a required
component of the first configuration block, and a mismatch with the running
version of the program is fatal.) They have a special program specifically
for this purpose which handles this global modification, and recurses
through all directories from the root point in which it is run.

Obviously, these changes need to be updated into our repository once
completed. The "obvious" approach will almost certainly work - that being
"svn co http://server/svn/trunk", run the modification program, then "svn
commit" from the "trunk" working copy. However, this approach is nasty,
time-consuming, and something of a bandwidth hog in our situation - not to
mention that I'm concerned about this activity spike more-or-less
incapacitating the Apache server for the duration of the checkout. It seems
screamingly counter-intuitive to recursively checkout the entire repository
when all we really need is one or two files from each client_id.

Any suggestions would be much appreciated. TIA...

Matt Campbell, Programmer Analyst
The Relizon Company (Timonium, MD)

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Jun 29 21:56:30 2004

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.