SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

***** WARNING ******
Create special user accounts for both the VMS and UNIX systems to host these procedures. The conversion procedures WILL wipe directories in the accounts hosting the conversion!!!!!! ***** WARNING ******

The CMS to CVS tools consist of ....

mover.exp - moves a library from CMS to CVS check.exp - checks a library
vars.exp - variables used by both mover.exp and checker.exp common.exp - procedures used by both mover.exp and checker.exp

To use the tools, create a local repository and make sure that an empty directory (module) exists for the library to be moved.

Make sure you do not have any important files in the default directory that you are using for the CMS user as well as the Unix account hosting the CVS conversion. Both mover and checker do a lot of global deletes in those directories.

Customize the valuse in vars.exp

Starting in a directory we will refer to as BASE.... cd <BASE>
cvs checkout <modulename>
cd <modulename>
script logfilename
[path/]mover.exp

There will be a large number of error messages generated to the logfile. The script makes few attempts to check for error status and many commands will put error messages in the logfile even when things are working properly.

During/after execution, look for an optput file called "cvsession.log" for a transcript of the cvs commands and their outputs. You should not see errors in here.

If you want to rerun the conversion....

      cd <BASE>
      rm -f $CVSROOT/module/*
      rm  -rf <modulename>

After this completes, you can verify the conversion by first creating a directory on the CMS host called TMP.DIR and running

        cd <BASE>
        script chekout
        checker.exp
        exit

checkout will have a dircmp (directory compare) between the 2 systems for every version that had a tag assigned

After the conversion, all files will have been created with a -kb keyword expansion option. If you use PCs and have true text files, adjust the -k option to -kkv or -ko using the cvs admin command.

ISSUES/NOTES:
The script assumes that you have no file you care about called....

chek1
chek2
class.*
mover.out
cvsession.log

Mover will wipe your CMS host's default directory Checker will wipe your CMS host's TMP directory Both will repeatedly trounce your CVS working directory

TODO

Add error detection to directory changes on CMS host so that default directory will not get trounced if "set def" fails

HOW THIS WORKS:

cms2cvs starts by requesting a list of every element in the library

Then it gets a list of all the generations for each element

Then it systematically checks out each generation of each element, moves it to the CVS host, and checks it into CVS after mapping revision numbers and filenames appropriately. After each checkin, it directly edits the repository file to fix the user and date of checkin.

After the move is complete, it obtains a list of class tags

For each tag, it obtains a list of elements and generation numbers, maps those to CVS names and revision numbers, and tags the files into the class.


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.