Importing a Release

This section describes a procedure for downloading a release, extracting files, and importing files into the CVS repository

This procedure should be followed once for each release in order to import the released source code into the CVS repository. No compilation is done, therefore the result is not a working tree. See “Creating a Working Scirun Directory Tree” to create a working directory.

  1. Set environment variable:

    setenv CVSROOT /proj/cdsp/biomed2/cvsSCIRun
    	

  2. Create directory to store tar files. It is suggested to move away from roland and begin storing these files on the ECE file system, eg., /proj/cdsp/biomed2/SCIRunDownloads/v1.6.0_tars.

  3. Download zipped tar files from http:://software.sci.utah.edu/archive_entry.html. A username, which is an email address, and a password may be needed to access this page.

  4. Use gunzip to inflate all zip files.

  5. Extract source code files for import into the CVS repository. For example:

    1. Create a directory on an appropriate file system: SCIRun.1.6.0 and cd into it

    2. tar xvf /proj/cdsp/biomed2/SCIRunDownloads/v1.6.0_tars/SCIRun.1.6.0
      	    
    3. tar xvf /proj/cdsp/biomed2/SCIRunDownloads/v1.6.0_tars/docs.1.6.0.tar
      	    
    4. cd ./SCIRun/src/Packages
      	    
    5. tar xvf \
      /proj/cdsp/biomed2/SCIRunDownloads/v1.6.0_tars/BioPSE.PKG.1.6.0.tar
      	    
    6. tar xvf \
      /proj/cdsp/biomed2/SCIRunDownloads/v1.6.0_tars/MatlabInterface.PKG.1.6.0.tar
      	    

  6. Import source files into CVS repository. Run the following command in the ./SCIRun directory.

    cvs import -m"Import of release 1.6.0" /proj/cdsp/biomed2/cvsSCIRun
    SCI_DIST V1_6_0 > cvsimport.out
    	

    Redirect output to a file in order to reliably identify any conflicts.

    Note

    Files that have been “retired” in the new release, need to be removed and committed individually (or en masse). Use the following commands to remove retired files:

    cvs rm -f `cat remove.txt`
    cvs commit -m"sync removed files" `cat remove.txt`
    	  

    remove.txt is a space-delimited list of retired files. The cvs rm command marks files for removal; the commit command modifies the database, implementing the removal. The files remain in the archive and can still be retrieved at a later time, but they will not be automatically retrieved as part of a global checkout.

    Tip

    The add and rm commands are similar in that they schedule an action to take place in the repository, but do not actually modify the repository themselves. The commit command implements the action scheduled by add or rm. This is in contrast to other cvs commands, such as checkout and checkin, that take their own action.

  7. Resolve any conflicts that occur between the imported files and locally modified files:

    cvs checkout -jSCI_DIST:yesterday -jSCI_DIST filename 
    	

    (see Section 13 of the CVS manual).