Re: Nested CVS projects

Michael Haggerty <[email protected]>
Newsgroups gmane.comp.version-control.subversion.cvs2svn.user
Message-ID <[email protected]>
On 08/02/2011 07:29 PM, Steven Hirsch wrote:
> I'm trying to import an application that was structured as a root directory 
> under CVS control, but containing only the Makefiles and build scripts.  To 
> build the app, users would checkout about 10 subdirectories under that root. 
> Each of the subdirectories was itself a separate CVS project.
> 
> [...] The goal was to have the repository be:
> 
> svnrepos/
>            project/
>                     Makefile
>                     subdir1/
>                     subdir2/
>                      ...

This is an unusual way of using CVS, and it is true that it will take
some tricks to support it in cvs2svn.

So do I understand correctly that subdir{1,2,3,...} are logically
separate projects, each with their own tags and branches, but all of
them depend on the central Makefile and build scripts to be built?

Must the subdirs be built together, or is each subdir built
independently of the others, sharing only the build infrastructure?

Do you want to mix and match versions of the subdirs to build a complete
product; for example, version A of subdir1 and version B of subdir2?

Does the Makefile have tags and branches?  If so, are they independent
of the tags/branches of the subdirs, or are they the union of the
tags/branches of all of the subdirs?  How do you ensure that the version
of the build scripts and Makefile agree with the version of the code in
the subdirs that is being built (or is this not necessary)?

And where do you want to put the Subversion branches and tags
directories for each of the subdirs?  Where do you want the branches and
tags directories for the Makefile?

I have the feeling that trying to stuff all of this into one Subversion
directory hierarchy is going to cause you a lot of trouble over time.
For example, it will confuse many Subversion-related tools if the
repository is not laid out in one of the two the standard layouts
(either trunk/tags/branches or project*/trunk, project*/tags,
project*/branches).  But if you insist on doing things this way, it is
probably possible using some combination of cvs2svn trickery and svn
externals.

Michael

-- 
Michael Haggerty
[email protected]
http://softwareswirl.blogspot.com/

------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1670&dsMessageId=2812415

To unsubscribe from this discussion, e-mail: [[email protected]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.