tags:

views:

50

answers:

3

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?

A: 

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.

Michael Aaron Safyan
I tried this, but the problem is that I'm using the subclipse feature "Tags" under the eclipse, and when I set the external value to ProjB of the ProjA, in the files of ProjA I can see Tags that I have previosly create (using configure Tags/Branches), but in the all files of the ProjB, there are no tags!!I tried to set tags of the ProjB externaly (checking out only ProjB and configuring Tags), but I get no results when setting external properies.Also when I tag in the new project ProjA with external ProjB, I can't get what I want.
komunca
A: 

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

Look up the svn move command.

sbi
There is no way I can with "move" commad accomplish what I wont, because if I can't get only ProjB trunk folder as aa subdirectory of the ProjA trunk
komunca
@komunca: Of course you can. Just move it there.
sbi
move -m " svn://server/test/sqloracle svn://server/test1/popiscdc/trunk/sqloracle Couldn't find a repository svn: No repository found in 'svn://server' –
komunca
@komunca: You wrote: "So, when i import both dump seperatly into SVN I get the following structure: [...] In CVS I was able to have ProjB as a child folder of the ProjA trunk!" I was supposing you already have both projects in a SVN repo. _After_ you imported them, you can just move one into the other - _if_ it really is a sub-project of it. (See mhagger's excellent answer about this question.)
sbi
+1  A: 

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.

mhagger
I will try to get the whole "master" project from CVS, and than the tagging will be simple, but problem is that I'm using refine script to get the CVS dump, and besause the project is very big, the refine can't deal with it, so I tried refine with seperate subfolders. (one by one).Only refine could deal with my project (cvs2svn couldn'd).
komunca