[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Trial Import of RCS to SVN - success, and statistics, and questions

From: Jonathan Leffler <jleffler_at_us.ibm.com>
Date: 2004-02-17 21:03:31 CET

Using the subject line 'Re: Importing RCS (and SCCS) into SVN?', Peter
Holzer wrote:
>On 2004-02-16 11:29:28 -0800, Jonathan Leffler wrote:
>> I'm in a state of paralysis, wondering how to import my RCS setup into
SVN.
>> I also have some SCCS files that I would like to import into SVN, but I
>> have a good SCCS to RCS tool which I can use first if RCS works easily
>> (it's an extension of (an old version of) the standard sccs2rcs script).
>
>I'd convert from RCS to CVS first. CVS repositories are just a bunch of
>RCS files, so conversion is trivial. Something like:
>
>find . -name '*,v' -print |
>while read a
>do
> b=`echo "$a" | sed -e 's,/RCS/,/,'`
> c=`dirname $b`
> mkdir -p "$CVSROOT/$module/$c"
> cp "$a" "$b"
>done
>
>should do the trick (unless you have newlines in filenames).
>
>After that you can use cvs2svn.

Dear Peter,

Thanks for the response (for the second time - and with a small change in
the revised cp command).

I don't have newlines in my filenames - I don't use spaces either, but I
(now) write shell scripts on the assumption that other people may.
The copy command in your script should be (though the final $b can be
replaced with $c as in last night's message, specifying the directory
instead of the file):

      cp "$a" "$CVSROOT/$module/$b"

I thought/assumed that CVS stored some extra information. However, I
experimented, and your solution seems to work nicely.

Statistics - FYI:
Working on an old Sun Ultra-10 (single 333 MHz CPU), I converted a
3-directory hierarchy of files (inc, lib/JL and lib/ESQL; 299 RCS files)
into SVN. The earliest revisions date back to January 1987, the most
recent are this year. SVN has 1140 revisions, ranging from single files to
90 files in a single commit (1795 file changes in total) - essentially no
branching and absolutely no tags. Pass 1 took 20 seconds, passes 2 and 3
were zero seconds; pass 4 too 279 seconds; pass 5 took 647; total 949
seconds.

Question:
The original RCS files occupy 2179 KB on disk. The SVN hierarchy where I
imported them occupies 12913 KB. That's a roughly 6-fold expansion in the
storage requirement. Is that typical?

I confess, my immediate reaction is "that's not very acceptable". Doubling
wouldn't be a particularly big problem, but six times seems a bit
excessive. The files are all source files - no binaries.

What expansion have other people observed on migrating from RCS or CVS to
SVN?

--
Jonathan Leffler (jleffler@us.ibm.com)
STSM, Informix Database Engineering, IBM Data Management
4100 Bohannon Drive, Menlo Park, CA 94025
Tel: +1 650-926-6921   Tie-Line: 630-6921
      "I don't suffer from insanity; I enjoy every minute of it!"
Received on Tue Feb 17 21:03:56 2004

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.