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

Configuration and build management - how?

From: Werle, Markus <Werle_at_fev.de>
Date: Mon, 26 Jan 2009 15:27:20 +0100


I have some questions concerning configuration management.
We have a large project with a rather large set of different
executables, which share a large set of common code, which we want to
build up using very small modules.

So we have approximately this kind of repo structure:

| |--Module1
| | |--trunk
| | |--Module1
| | |--branches
| | |--Module1_Branch_1
| | |--Module1_Branch_2
| |--Module2
| |--trunk
| |--Module2
| |--branches
| |--Module2_Branch_1
| |--Module2_Branch_2
| |--Tool1
| | |--trunk
| | |--Tool1
| | |--branches
| | |--Tool1_Branch_1
| | |--Tool1_Branch_2
| |--Tool2
| | |--trunk
| | |--Tool2
| | |--branches
| | |--Tool2_Branch_1
| | |--Tool2_Branch_2


The advantage of this approach is that we are rather flexible with
regard to true configuration management for a build system.

Tool1 in branch Tool1_Branch_1 may have references to Module1 branch
Module1_Branch_2 and Module2 branch Module2_Branch_1 and so on.

Note that it is required and perfectly OK for us to have ToolX probably
refer to a very old version of a module in the Common tree. Therefore
switching to a more agile process where each tool uses the latest and
greatest version of the Common stuff and using a structure like this


is not what we can afford due to potential of massive interface changes
in the Common modules. Also we'd like to code, not to merge most of the

Everything is fine until the day when you start the tortoise repo
browser and ask for a checkout of MASTER. Now you find that every
single branch (and tag!) of every module and tool is checked out until
a "file system full" message appears.

What I want is the ability to configure special "tags" which lead to a
checkout of a distinct set of branches below master, e.g. a checkout of
Tool1 branch Tool1_Branch_1 together with Module1 branch
Module1_Branch_1 and Module2 trunk.

I wondered if I could abuse externals, but since externals are
externals and point to absolute addresses the whole game blows up if
the repository migrates from filesystem to server or later to an other

The longer I think about it I do not see any satisfying solution on how
filter the checkout. Checking out 200 modules by hand is tedious ...

At least is there some "check out only trunk branches" command

I found this unanswered post at
and got the impression that I am in the same boat somehow.

Any ideas how to address this issue?
Build my own SCM on top of subversion using the API?
Am I to reinvent the wheel?
Any help appreciated.

best regards,


FEV Motorentechnik GmbH Telefon +49 241 5689-0 Telefax +49 241 5689-119
52078 Aachen Neuenhofstr. 181 Internet:http://www.fev.com
Handelsregister Aachen HRB 1649 / Geschäftsführer: Prof. Dr.-Ing. Stefan Pischinger, Dr.-Ing. Ernst Scheid, Dr.-Ing. Markus Schwaderlapp, Dipl.-Ing. Rainer Paulsen, Gary W. Rogers / Beiratsvorsitzender: Prof. Dr. techn. Dr. e.h. Franz Pischinger
Diese Nachricht ist vertraulich. Die Informationen dieser Nachricht sind ausschließlich für die persönliche und vertrauliche Verwendung durch den/die oben genannten Empfänger bestimmt. Wenn Sie kein beabsichtigter Empfänger sind, bitte lesen, kopieren und verwenden Sie die Nachricht nicht. Machen Sie sie nicht anderen zugänglich. Bitte informieren Sie uns umgehend über den Zustellfehler und senden Sie die Originalnachricht per E-Mail an uns zurück.
Confidentiality Notice:
This message is confidential. The information contained in this message is intended only for the personal and confidential use of the recipient(s) named above. If you are not the intended recipient, please do not read, copy, or use it and do not disclose it to others. Please inform us immediately of the delivery error and return the original message to us via e-mail.


To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-01-26 20:10:26 CET

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.