RCS archives compatibility

JimDaubertjim at super.marketorder.com JimDaubertjim at super.marketorder.com
Mon Apr 20 10:26:45 PDT 1998


I just purchased Perforce and am in the middle of an effort to migrate a
large RCS code base (about 5000 *,v files).  I've found that the
rcstoperf.sh script provided by Perforce makes some hidden assumptions about
how labels are used in the RCS files.  These assumptions conflicted directly
with how we've been using RCS, so I had to write a non-trivial Perl script
to preprocess all our RCS files to match what Perforce's import expects.

Specifically, in our use of RCS (supported by custom script wrappers), we
have symbolic names for revisions but not for branches.  Our idea in RCS is
to essentially have "dynamic labels" (symbolic names managed by scripts)
instead of branches.  In this way, a "branch" (codeline with separate
policy) doesn't have to actually branch unless a change is made.

In contrast, Perforce expects that every codeline branch results in actual
branches taking place on every file.  Furthermore, it expects that every
branch is named symbolically and uses this symbolic name to position the
branch in the depot.  Therefore, what I've had to do in my preprocessing is
the following:
For each ,v file
    For symbolic name (pointing to a revision) in the ,v file
        1) Determine if it's the head of its own branch; if not, make a
branch and reassign the symbol to the new branch head.
        2) Assign a symbolic name to the branch that corresponds to the
directory where I want it to show up in the RCS depot.

With this preprocessing, it seems to work well.

By the way, thanks to James at Perforce for the insight on branches vs

Good luck,
Jim Daubert

>-----Original Message-----
>From: Jorge A. Handl <jhandl at mecon.ar>
>To: perforce-user at perforce.com <perforce-user at perforce.com>
>Date: Friday, April 17, 1998 12:38 PM
>Subject: RCS archives compatibility
>I am considering the purchase of Perforce, and I wonder if
>I will be able to convert my current RCS repository. I know
>Perforce uses the RCS format, but what about the additional
>info it stores in its relational database?
>Anybody had to do something like that?
>Jorge A. Handl
>jhandl at mecon.ar

More information about the perforce-user mailing list