[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Importing from ClearCase

From: Mark
Subject: Re: Importing from ClearCase
Date: Fri, 9 Nov 2001 05:24:00 -0800 (PST)

The metadata issue really isn't a big issue. You will have to cut the fat. If
the CC metadata can't be converted/used in a productive way in a CVS, then
there is not much you can do about that.

The major problem is that CC uses a database for its backend and CVS uses a
flat file directory structure.

Start with the CC file element. If you do a ct find -type f and run a script to
convert each file element into a RCSfile (attaching/creating appropriate tags
as you go). So now you have an RCSfile, what shall you call it? In CC the
filename is just metadata for your benefit, and not how CC refers to the file.
You can either pick the latest name for the file and name the RCSfile that
(which will defeat the purpose of what your trying to do), or you can have your
script create an RCSfile for each name that the file had, including appropriate
revisions/tags info for each RCSFile.

(just curious, I not sure if name metadata in CC is held in the directory
element or not, if you have one file element listed in two different directory
file elements and changed name in one, whould you see the name change in the
other? even if work continued on that file from both directories?)

Another major issue is, where do you put the RCSfile in the CVS Repository? If
you put a copy of the RCSfile in each directory it ever appeared in, not sure
if that will give you what you want either, nor will just placing in in the
last directory it appeared in. What if directory names have changed and
filenames have not, how do you handle that?

Also, you will have to figure out which versions to do a 'cvs remove' on. In
CC, files are removed from branches by removing them from a directory file
version that is on the branch. If you don't do this, it is very likely that the
CC structure content for latest on a given branch will look much different than
latest in CVS for that branch.

Once you figure out how to handle these things (and others I am sure I missed),
then you need to tell a script how to figure it all out.

I have seen the post Paul refers to, though I haven't really looked into it. I
personally would just import milestone/important baelines from CC into CVS.
(don't forget to baseline the latest files and import them with that process).
Treat this conversion effort like importing sources into CVS from a 3rd party.
I don't think its worth the trouble to try and convert a CC database into a CVS

If you do use clearexport_ccase in you convert process, please let us know how
you use it and what you process ended up being. I may be in you shoes soon.

Just my thoughts,


--- "Paul D. Smith" <address@hidden> wrote:
> Look at the newsgroup; there was a thread on
> this a month or two ago.
> You have a major problem: how to reduce ClearCase's extremely rich set
> of metadata down into CVS's very limited set.  Also, obviously things
> like directory renames, etc. cannot be easily handled.
> However, the first step is you can use clearexport_ccase to dump all the
> metadata associated with your elements into a text file which is quite
> simple to read.  Note this file doesn't contain the actual version
> contents; you still need a view for that.
> This will give you a readily translatable format for all your
> ClearCase-controlled data--now you just have to figure out how to map it
> :).
> -- 
>  Paul D. Smith <address@hidden> HASMAT--HA Software Mthds &
> Tools
>  "Please remain calm...I may be mad, but I am a professional." --Mad
> Scientist
>    These are my opinions---Nortel Networks takes no responsibility for them.
> _______________________________________________
> Info-cvs mailing list
> address@hidden

Do You Yahoo!?
Find a job, post your resume.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]