Visit Our UNIX and Linux User Community


CVS: move part of repository (branch) to SVN server


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users CVS: move part of repository (branch) to SVN server
# 1  
Old 07-02-2008
CVS: move part of repository (branch) to SVN server

Hi all,

We have CVS server running for few years with absolutely no problems.
Because of conditions not depending on me, I'm forced to move some part of our repository to another server (SVN). I need to move ONLY one branch from CVS server to SVN server. The branch must be moved with all changes made on it. I can move entire repository with absolutely no problem, but do not know how to move part of the branch with changes (cvs checkout will not work ofcourse ).

Thank you in advance for your help.
# 2  
Old 07-02-2008
My impression is that it may be possible with a four-step migration (but to be frank I am not too sure about its viability due to my limited exposure to branches):

1. Migrate the entire CVS repository to a temporary SVN repo (you know how to do it better than I do)
2. Get a snapshot of the entire repository (using "svnadmin dump")
3. Because in SVN a branch is just a sub-tree of the repository, you can filter the sub-tree out of the repo using svndumpfilter, to produce a snapshot dump that covers that branch you want only.
4. Finally, load the filtered snapshot to the real SVN repo (of course, create a temporary repo to test it first!) using svnadmin load.

You can find more about svndumpfilter here (and also svnadmin):

Repository Maintenance

Good luck!
# 3  
Old 07-02-2008
One big problem is that entire repository is about 1.5 TB, so i cannot migrate it to SVN that easy ...
Also there are people using it every day, and i cannot stop it.
# 4  
Old 07-02-2008
If it's really that big .... I'd suggest you to ask the experts on subversion's mailing list and post a solution that works for you back here. I'll be very interested to know how to do that. You may need to use third-party tools (if exists) for that if the programs in the subversion distribution do not satisfy your requirements .....
# 5  
Old 07-02-2008
cvs2svn

You should take a look at a project called cvs2svn. Here you will find a utility for SVN conversion from CVS (as the name indicates), and there is a section in the user manual that offers suggestions for "Deciding How Much to Convert". They offer pros/cons and advice on how to proceed for various options. Take a look: cvs2svn: cvs2svn Documentation
# 6  
Old 07-03-2008
However, if I have not misinterpreted the documentation for cvs2svn, that does not appear to have an option for migrating a CVS branch only. My understanding is in CVS, unlike in SVN that a branch is a copy and just works like the trunk except on a separate tree, CVS branches are rooted with a revision on the parent branch and it will not be very surprising to me if indeed cvs2svn does not support migrating a branch only directly.

Correct me if I am wrong.

I guess the original poster already knows about cvs2svn because that is mostly the way to convert a CVS repo to SVN ....
# 7  
Old 07-09-2008
Quote:
Originally Posted by cbkihong
However, if I have not misinterpreted the documentation for cvs2svn, that does not appear to have an option for migrating a CVS branch only. My understanding is in CVS, unlike in SVN that a branch is a copy and just works like the trunk except on a separate tree, CVS branches are rooted with a revision on the parent branch and it will not be very surprising to me if indeed cvs2svn does not support migrating a branch only directly.

Correct me if I am wrong.

I guess the original poster already knows about cvs2svn because that is mostly the way to convert a CVS repo to SVN ....
Yes I do know about cvs2svn.

First of all it turns out that the person which requires the SVN conversion is marketing director. So we reviewed what he NEEDS exacty and ...

We solved the problem in not very sciantific way ...
Here is how:
1. I copied one part of the things that we need to cvsroot/tmp/svn directory
then used simple bash script with cp and cvs rtag commands to delete all unnecessery branches and tags .. (I got the branches / tags from cvsweb interface)
2. copied second part, and repeated 1, then tirth part ... and so on ...

3. After long time of copy / cvs rtag -d (allmost 24h ).... we had one not very big (approx. 1G) repository in cvsroot/tmp/svn.
This repository was compressed, and sent to my colege, for SVN transformation on remote server.

My personal conclusion:
Before proceed, make sure you know that the person that wants huge changes to well working (and proven) system knows what he / she wants Smilie)

Cheers.

Previous Thread | Next Thread
Test Your Knowledge in Computers #703
Difficulty: Medium
Cross-Origin Resource Sharing (CORS) is a mechanism that uses additional HTTP headers to tell browsers to give a web application running at one origin, access to selected resources from a different origin.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Trying to figure out the CVS repository server.

We have an issue where we are able to check out files from unix however not from windows. On Unix I have the cvs host set to /home/group/CVSROOT but when I try and access the folder from windows I get an exception that the server refuses connection. On unix the CVSROOT is a filer and not the... (0 Replies)
Discussion started by: jjohnson
0 Replies

2. Web Development

Svn repository relocation

Hi, I have a svn setup with multiple code repositories. Recently the filesystem holds the repository got full and i wanted to have to move some code repositories to another filesystem. I copied some of the code repositored using the "mv" command to another filesystem and created a symlink with... (1 Reply)
Discussion started by: arumon
1 Replies

3. Red Hat

CVS repository connecting error in Linux 5.3

Hi Friends, I configured CVS Repository in RHEL 5.3 Server. But connecting the CVS Repository get the error like. # cvs -d:pserver:cvs@localhost:/backup/cvs/cvsrep login Logging in to :pserver:cvs@localhost:2401/backup/cvs/cvsrep CVS password: cvs : connect to :2401 failed: Connection... (0 Replies)
Discussion started by: srinivas814
0 Replies

4. UNIX for Dummies Questions & Answers

Access of Microsoft Team Foundation Server (TFS) repository from Unix Server

Hello, Some of our application team uses Microsoft Team Foundation server (TFS) reposity tool for their .NET projects , I would like to access it form Unix/Linux machine. Please let me know how can access the TFS from unix. Thanks (0 Replies)
Discussion started by: posix
0 Replies

5. UNIX for Advanced & Expert Users

Copy files from SVN Server

Hi, We have a SVN server on which the developers upload their source code which is in the form of a .ear file or a folder. We login to the SVN server using our credentials and then go to the directory in which the application is placed and then click on the download link to download the... (6 Replies)
Discussion started by: mohtashims
6 Replies

6. Solaris

How to integrate SVN client to SVN server repository.

Hi, I am new to SVN configuration on Solaris 10.I have installed SVN client version 1.7. bash-3.00# ./svn --version svn, version 1.7.4 (r1295709) compiled Mar 2 2012, 12:59:36 Here my requirement is how to integrate svn client to One of the SVN server repository. My repository... (0 Replies)
Discussion started by: muraliinfy04
0 Replies

7. Shell Programming and Scripting

Find and move files parsed from cvs file

I need help with a bash script. We have a directory of files which need to be renamed and moved to another directory based on filename information in a cvs file. The contents of the cvs file are as follows: A102345,abc123 A102347,dfg475 Where dfg475 is the basename without extension Our... (8 Replies)
Discussion started by: Lloyd Boyette
8 Replies

8. Programming

How to create a new file in a CVS repository

I have a coding project that I'm working on, and I'm tracking revisions using CVS. I'm working on a branch (branch1) at version 1.1.2.1. Anyway, I created a new C file in the directory for the project, but I can't commit it. The tutorial I read on CVS said that version numbers will be assigned... (6 Replies)
Discussion started by: Ultrix
6 Replies

9. Shell Programming and Scripting

Extraction of latest files from cvs repository

Hi everyone.. Anybody having idea to get the latest file from CVS repository through schell scripts. Thanks in advance. Regards shahid Bakshi (4 Replies)
Discussion started by: shahidbakshi
4 Replies

10. Solaris

backup repository in cvs

dears does any one know how can i take backup for reposirory in cvs ?? (9 Replies)
Discussion started by: murad.jaber
9 Replies

Featured Tech Videos