Skip to main content

HOWTO migrate from RCS to SVN

After a bit of stumbling around and getting confused using 2 versions of subversion, here is how I finally imported our entire RCS repository into Subversion from CollabNet.

Prelude: I installed the RPMs from CollabNet as indicated in their readme and used the wizard to config 2 repository. Only thing I added, was to make all the repositories in /var/svn/repositories writable by the group csvn: chmod g+w /var/svn/repositories/*. That way the web server's user/group csvn:csvn can read and write in there.

[root@server repositories]# ls -l
total 12
drwxrwxr-x 7 csvn csvn 4096 Jun 18 17:54 repo1
drwxrwxr-x 7 csvn csvn 4096 Jun 18 17:54 repo2
[root@server repositories]# which svnadmin
/opt/CollabNet_Subversion/bin/svnadmin
[root@server repositories]# which cvs2svn
/usr/bin/cvs2svn
[root@server repositories]# cd
[root@server ~]#cvs2svn -s /var/svn/repositories/io_se/ --use-rcs --default-eol=native RCS/
----- pass 1 (CollectRevsPass) -----
Examining all CVS ',v' files...
RCS/largedb.sql,v
RCS/as10.1.3.1.0_mtj2ee_1013.rsp,v
RCS/as10.1.3.1.0_mtsoa_j2eeweb.rsp,v
RCS/as_add_initd.sh,v
[schnipp]
Starting Subversion r512 / 514
Starting Subversion r513 / 514
Starting Subversion r514 / 514
Done.
Time for pass16 (OutputPass): 17.40 seconds.

cvs2svn Statistics:
------------------
Total CVS Files: 265
Total CVS Revisions: 758
Total CVS Branches: 1
Total CVS Tags: 11
Total Unique Tags: 1
Total Unique Branches: 1
CVS Repos Size in KB: 1415
Total SVN Commits: 514
First Revision Date: Thu Jun 28 10:11:33 2007
Last Revision Date: Thu Jun 19 10:17:36 2008
------------------
Timings (seconds):
------------------
0.90 pass1 CollectRevsPass
0.06 pass2 CleanMetadataPass
0.01 pass3 CollateSymbolsPass
0.15 pass4 FilterSymbolsPass
0.03 pass5 SortRevisionSummaryPass
0.04 pass6 SortSymbolSummaryPass
0.19 pass7 InitializeChangesetsPass
0.37 pass8 BreakRevisionChangesetCyclesPass
0.41 pass9 RevisionTopologicalSortPass
0.08 pass10 BreakSymbolChangesetCyclesPass
0.30 pass11 BreakAllChangesetCyclesPass
0.19 pass12 TopologicalSortPass
0.49 pass13 CreateRevsPass
0.02 pass14 SortSymbolsPass
0.01 pass15 IndexSymbolsPass
17.40 pass16 OutputPass
20.67 total
[root@server ~]#


I now did a dump, just to have an easy dump file that I can reuse, in case something bad happens and I need a fresh backup.
[root@l0762 repositories]#cvs2svn --dumpfile=rcs-import.svn --use-rcs RCS/

Comments

Popular posts from this blog

Preventing PuTTY timeouts

Just found a great tip to prevent timeouts of PuTTY sessions. I'm fine with timeouts by the host, but in our case the firewall kills sessions after 30 minutes of inactivity... When using PuTTY to ssh to your Linux/Unix servers, be sure to use the feature to send NULL packets to prevent a timeout. I've set it to once every 900 seconds, i.e. 15 minutes... See screenshot on the right.

Tuning the nscd name cache daemon

I've been playing a bit with the nscd now and want to share some tips related to tuning the nscd.conf file. To see how the DNS cache is doing, use nscd -g. nscd configuration: 0 server debug level 26m 57s server runtime 5 current number of threads 32 maximum number of threads 0 number of times clients had to wait yes paranoia mode enabled 3600 restart internal passwd cache: no cache is enabled [other zero output removed] group cache: no cache is enabled [other zero output removed] hosts cache: yes cache is enabled yes cache is persistent yes cache is shared 211 suggested size 216064 total data pool size 1144 used data pool size 3600 seconds time to live for positive entries 20 seconds time to live for negative entries 66254 cache hi...

Dell Linux - OMSA Hardware Monitoring

Just getting started using Dell's OpenManage Server Administrator (OMSA) on our Oracle Linux platform. There are some confusing instructions going around so it's not immediately clear what to do, hence my blogging here. :) There is a site on Dell - Hardware Monitoring , as well as a wiki with instruction on how to setup their OMSA tooling using yum or up2date. [update]My first update for their instructions: be sure your server has Internet access, as most servers will use a proxy or so. use export http_proxy=http://yourproxy.example.com:port to configure it just for the session, and setup up2date to use an HTTP proxy by editing the settings in /etc/sysconfig/rhn/up2date .