On Fri, Nov 05, 2010 at 01:49:03PM -0000, Hutchinson, Steve (UK) wrote:
> Hi,
>
> Currently we are attempting to use svn externals to help build various
> projects from what I would call a few "reuse" repositories. We are
> attempting to be "structured" as to what level of design hierarchy we
> apply the properties but sometimes when we inherit a design people can
> spend a bit of time trying to identify where externals have been used.
>
> Is there a simple way of identifying in a structure folders that have
> external properties, come to think of it maybe any form of property ?
The designers of the externals feature envisioned maybe a handful
of external library dependencies that don't vary much over time.
These are automatically pulled into a working copy, much like an automated
svn checkout.
But the design doesn't account for what happens when people start using
svn:externals for variant management or large-scale component reuse.
If you're pulling together project components from externals in various
combinations, like lego blocks, or simply have many externals, don't use
the svn:externals properties as the primary source of your configuration data.
Do it the other way: Store your component configuration in a versioned
file or even a database, and write a script to configure svn:externals
properties based on that data. Maybe even add an automated check into
the mix that makes sure the svn:externals in the repository's HEAD
revision are in sync with your primary externals configuration source.
You can query a file or a database easily to find out which components
are used where. But svn properties haven't been designed for this use case.
You cannot query a Subversion repository like you can query a database.
Well, you could crawl the repository, but that's quite slow.
Hope this helps,
Stefan
Received on 2010-11-05 15:09:52 CET