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

Coming from CVS: how do I set up shared modules in SubVersion?

From: <Helmuth.Stockmann_at_westernpower.com.au>
Date: 2006-06-29 04:26:45 CEST


We are in the process of converting our CVS repository to SubVersion and I
am struggling with converting the "CVSROOT/modules" file that we have in

Suppose we have one project "webapp" that result in two applications: an
admin app for the Intranet (internal) and a user app for the External
Internet. Both apps have a lot of source code in common. The CVS
repository file structure looks like this:

This is what I had defined in my CVS repository in the "CVSROOT/modules"
        _webapp_shared -d shared webapp/shared
        internal webapp/internal &_webapp_shared
        external webapp/external &_webapp_shared

This is how it works. When a developer checks out the "internal" module,
it will also check out the shared module and stick it in the subdirectory
"internal/shared" in my local workspace. Same for "external" module. This
means for a developer, there are two work spaces to work on: the internal
and external application. They would never need to check out the shared
module by itself. Using the "svn:external" definitions, I managed to
replicate this concept. The imported filestructure into SubVersion looks
like this (three top level directories):

Then I defined the "svn:externals" property for both the "webapp_internal"
and "webapp_external" directories to be:
        shared file:///myRepositoryPath/webapp_shared

So basically I get the same, checking out "webapp_internal" would give me
all sources from the internal directory as well as the shared directory.


The problem is that when I have got a module "webapp_internal" checked out
and I make changes to sources in the shared directory, i have to do an
explicit commit on the shared subdirectory. In the CVS workspace, I could
simply issue a commit at the top level and ALL changes would be checked in
to the repository, from both the internal module as well as the shared

Has anyone got a solution for converting the CVSROOT/modules file to


Helmuth Stockmann
Web developer
Shared Services Provider
Western Power, 363-365 Wellington Street, Perth, WA, 6000, Australia

phone: (08) 9326 4846 | fax: (08) 9326 4938 | email:
WESTERN POWER. ABN 18 540 492 861, Perth, Western Australia.
Telephone: +61 8 9326 4911

TO THE ADDRESSEE: Unencrypted E-mail is not secure and may not be authentic. We cannot guarantee the accuracy,
reliability, completeness or confidentiality of this E-mail and any attachments ("E-Mail").

IF YOU ARE NOT THE INTENDED ADDRESSEE: This E-Mail is intended solely for the intended addressee and may be subject
to legal or other professional privilege, or may contain information that is confidential or exempt from
disclosure by law. Copying or distributing this E-Mail or any information it may contain, by anyone other than the
intended addressee, is prohibited. If you have received this E-Mail in error please notify us immediately by return
e-mail or by telephone; and destroy this E-Mail and any electronic or hard copies of it. Any claim to privilege or
confidentiality is not waived or lost by reason of mistaken transmission of this E-Mail.

VIRUSES: Although we scan all outgoing e-mail and attachments for viruses, we cannot guarantee that viruses will not
be transmitted with this E-mail. It is the recipient's responsibility to check this E-Mail for viruses.
Received on Thu Jun 29 04:28:51 2006

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.