Question

I have two CVS projects, which I maintain in Eclipse. I check out first project, and for second project I use "checkout in existing project" option, so I'm able to maintain two CVS projects into one Eclipse project. Doing this I'm able to Tag both projects with the same tag,etc.

And know, time has come to start using SVN. I was able to create two separate CVS dump files, and when I used svnadmin to load then into SVN repository, I wasn't able to keep the structure I had in CVS!

So, when i import both dump seperatly into SVN I get the following structure:

ProjA - brancher tags trunk

ProjB bracnches tags trunk

In CVS I was able to have ProjB as a child folder of the ProjA trunk!

Is there any way to implement this using SVN?

Was it helpful?

Solution

The Subversion concept of a project is "that which you tag and branch as a unit". It is cumbersome to tag or branch separate projects at the same time, regardless of whether they are in separate Subversion repositories or are subprojects within a single repository. Other modern VCSs with which I am familiar have the same limitation.

So I guess the question is: if you want to tag or branch these "projects" at the same time, are they really separate projects, or should you rather consider them subdirectories within a single "master" project? If they are parts of a single project, then it is trivial to tag or branch them at the same time, though then of course it becomes more cumbersome to tag or branch them separately.

I suggest the following rule of thumb: a project is the set of files that will be released together with a single version number. If your "projects" will usually be released under a single version number, then treat them as subdirectories of a single project. If they will be released separately using separate version numbers, then treat them as separate, independent projects.

OTHER TIPS

One thing you can do, if these are truly separate projects, is to use svn:externals, which will allow you to make one of the repositories reference (and automatically download content from) the other repository.

In SVN, you can just move files and folders to where you want to have them.

Look up the svn move command.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top