My company currently uses two separate CVS repository for all of its projects.
My boss has chosen to migrate to SVN at one condition: migration must be gradual and must cause at least downtime as possible.
Given that I will keep the multi-repository structure (so customer software goes to repo1 and internal software to repo2, even if this distinction is not strictly necessary), I would like to ask if it's possible to periodically nominate a project for migration from CVS to SVN and migrate it to an existing repository.
Let me explain better. With an example involving only one repo for simplicity.
- Day 0: SVN repo init
- Day 1: new project (call it P) starts, developer commit to SVN repo
- Day 2: old project A, not developed anymore, is candidate for migration. All developers are agreed to commit latest modifications to CVS and use SVN after migration if they ever need it
- Day 3: Cycle repeats from steps 1 or 2
Normally, cvs2svn
can generate a dump file (I already made a few successful attempts) that can be imported with svnadmin load
to an empty repository. And normally cvs2svn
can be used to generate a dump for one or multiple chosen projects (there are a few tutorials about it, all run successfully).
Putting it all together
Since I can generate anytime a dump for any chosen set of CVS project, say A, B, C, can I (and how) use those dumps to append those revisions to the SVN repository where projects, say P and Q, already exists?
Clarification: I expect the filesystem layout to look like
/svnroot
/projectA
/branches
/tags
/trunk
/projectX
/branches
/tags
/trunk