ClearCase Overview

 

 

 

What is ClearCase?

 

·        ClearCase is a program for software configuration management and version control of all types of files & directories (elements).

·        It enables parallel development on geographically distributed sites.

·        ClearCase runs in both Unix and Windows. There is two interfaces in UNIX, command line (CLI) and graphical (GUI).

·        It enables access to files and directories as usual, but if you would like to change elements you must use ClearCase.

·        The method to work with elements is check-out/edit/check-in.

 

 

What is a VOB?

 

·        A VOB (Version Object Base) is a database (repository) that stores version-controlled elements, such as source files, binary files, directories etc.

·        You must mount a VOB (make a connection) before accessing the elements in it.

·        A VOB can be mounted on some or all workstations.  A project can have more than one VOB.

·        ClearCase protects files in the VOB from accidental modification, thereby all the elements is stored as read-only.

·        Each VOB must have a descriptive name, called a VOB-tag. When accessing elements or working with VOBs, you use the VOB-tag. When listing VOBs you see the tag and the storage path like this:

 

       /vobs/cc_vobtest          /net/wrnsg03/export/vobs/vob1/cc_vobtest.vbs

      VOB-tag                  Storage path

 

 

 

What is a view

·        A filter to access files in a VOB.

·        You must set a view (make it active) before you can access files.

·        You specify what you want to see in your view (which version of the file/directory), by the rules in your config spec.

·        A view only shows one version of each file/directory.

·        Each user may have multiple views. As for example, a view for new development, a view for bug fixing etc.

·        There are two types of views:

 

·        Dynamic views – displays versions held in the VOB. Provide immediate, transparent access to the data in the VOBs.

·        Snapshot views – copies the elements to your local file system.

·        Most common is dynamic views.

·        Each view must have a descriptive name, called a view-tag. When working with views, you use the view-tag. When listing views you see the tag and the storage path like this:

 

      cc_viewtest          /net/wrnsg03/export/views/view1/cc_viewtest.vws

      View-tag             Storage path

 

 

What is an element?

 

 

 

What is a version tree

·        A version tree is a representation of the different versions of a file or directory.

·        A version tree can include multiple branches, of which each represents an independent line of development

                                   

                                  

                                              Fig. Version tree

 

 

What is a branch?

 

·        A new element will be placed on the “main” branch.

·        New projects and when working with a bug fix, usually gets their own branch.

·        The figure is showing a version tree of the file hello.c, with different branches.

 

 

 

Fig: Version tree with branches

 

 

 

 

 

What is a label?

 

·        You label versions of special interest, for example versions that are a part of a release of your product.

·        Labels are always written in uppercase.

 

 

                                             

 

                                              Fig. Version tree with labels

 

 

 

What is a config spec (Configuration specification)?

 

·        Rules that determines which version of the elements (folders, files) that are visible in a view.

·        Each view has its own config spec.

 

 

 

 

Fig. The rules in the config spec decides which version of the elements, that will be shown in the view.

 

 

 

What is a view-private file?

 

 

What is a checkout?

 

 

 

 

What is checking in?

 

·        When you check-in a file or directory there will be a new version in the VOB.

 

 

What is merging?

 

·        Combining contents of files or directories.

·        The differences are pointed out and the user decides which changes to be done.

 

 

 

                            

 

                               Fig. Checking in / merging an unreserved checkout

 

 

 

Graphic interface

 

The File Browser shows files and directories from a VOB. From here, you can checkout, check-in, display the version tree of files etc. Your views config spec decides what and which versions of the elements you see in the file browser.

 

 


 


          Fig. File Browser

 

 

The Vtree Browser shows all the versions of an element. From here you can check-out, edit and check-in files. There are also options for comparing different versions of files with a “diff tool” and possibilities to merge files.

 

 

 


 


                 Fig. Vtree Browser


The History Browser describes the changes made to en element, like creating, checking-out etc.

 

 

Fig. History Browser