Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
compare webbrowser
Freenet DSL
Who's Online
6 user(s) are online (6 user(s) are browsing encyclopedia)

Members: 0
Guests: 6

more...
browser tip
Unix Befehle
manual of unix befehle
recommendation!
Sponsored
partner

Rational ClearCase

Rational ClearCase is a . IBM continues to develop and market ClearCase. ClearCase forms the base of version control for many large and medium sized businesses and can handle projects with hundreds or thousands of developers, but the price is quite steep for smaller companies.

= Views =

Objects under version control in ClearCase are stored with their histories in repositories called VOBs (versioned object base). ClearCase s novelty was in its versioned file system (called MVFS: Multiversion File System), which can be used to mount VOBs as a virtual file system through a dynamic view , selecting a consistent set of versions and allowing for the production of Derived Object. The dynamic view allows this to map to a Software Configuration. This was a departure from the repository / sandbox model, allowing for the early management of artifacts (before they are being checked in, and not limited to these first order configuration items).

Alternatively, ClearCase supports snapshot views which are just copies of a directory tree spanning one or several VOBs. Snapshot views do not use a virtual file system to provide access to VOB data. Instead, a snapshot view stores a copy of the VOB data locally on the user s computer. Snapshot views can be used while disconnected from the network and later resynchronized to the VOB when a connection is reestablished. This mode of operation is similar to how the widely-used Concurrent Versions System (Concurrent Versions System) software works.

From the perspective of software on the client computer, a view appears as just another file system. If a file is created in a view by normal OS means (copying or saving from an editor for instance), then ClearCase will create this file as a view-private file. It will not be visible in any other view. This allows build systems to operate in the same directory structure as the source code, and ensures that each developer can build completely independently of each other (though if the view is a dynamic one then the normal overhead associated with accessing files over an NFS link applies). A view-private file (or directory for that matter) can be converted into a versioned element at any time, making it visible to other developers.

Each developer typically has one or several views at his disposal. It is sometimes practical to share views between developers, but sharing branches is usually used instead. Having a branch hierarchy is often useful, so an entire development project shares a common development branch, while a smaller team shares a sub-branch, and each developer has his or her private branch. Whenever some change is deemed stable enough for a larger group, it can be merged to the parent branch.

= Configuration specifications =

Each view is controlled by its associated configuration specification . This is a text file that specifies what elements (files or directories) should be visible in a view, and which versions of these elements. When deciding which version, if any, of an element should be visible, ClearCase traverses the configuration specification line-by-line until a match is found. A sample configuration specification could look like this:

# Show all elements that are checked out to this view, regardless any other rules. element * CHECKEDOUT

# If an element has a version on the module2_dev_branch , then this shall be the visible version in this view. element * module2_dev_branch

# For all files named somefile , regardless of location, always show the latest version on the main branch. element .../somefile /main/LATEST

# Use a specific version of a specific file. Note: This rule must appear before the next rule to have any effect! element /vobs/project1/module1/a_header.h /main/proj_dev_branch/my_dev_branch1/14

# Show all elements labeled with the tag PROJ1_MOD2_LABEL_1 under the project1/module1 path. # Furthermore, don t allow any checkouts in this path. element /vobs/project1/module1/... PROJ1_MOD2_LABEL_1 --nocheckout

# Show the ANOTHER_LABEL version of all elements under the project1/module2 path. # If an element is checked out, then branch that element from the currently visible version, # and add it to the module2_dev_branch branch. element /vobs/project1/module2/... ANOTHER_LABEL --mkbranch module2_dev_branch

A configuration specification can also reference other configuration specifications using the include statement.

= MultiSite =

Another originality of ClearCase is its MultiSite extension. In this model, there is no real master database, but instead peer replicas , kept in-step in an asynchronous way (with close to no penalty to end-users).

Since replicas are kept in sync in an asynchronous way, ClearCase must keep track of access so that multiple teams do not perform conflicting operations. The paradigm of mastership allows this. Specific data or metadata within a VOB have a property which specifies what particular replica is allowed to modify them. Thus, a VOB object or piece of metadata can only be manipulated by one replica at a time. MultiSite also has the ability to change this property so that different teams can change the mastership of VOB data. This can be done by changing the mastership manually from a giving site or by a request for mastership from a receiving site.

= UCM =

In the recent years, a UCM (Unified Change Management) extension has been developed, supporting a more traditional model.

= Unique features =

  • Build Avoidance: Use of MVFS (Multiversion File System) allows derived objects built in one dynamic view to be automatically copied over to another dynamic view requiring exactly the same derived object. Two derived objects are deemed to be exactly same if they have the same configuration record (ClearCase terminology, also called bill of materials ). Shared derived objects will be physically present on the VOB server, and not in the views that reference them. The process of copying over is called winking in in ClearCase terminology.
  • Unix/Windows Interoperability: VOBs hosted on *nix (Solaris, Linux, AIX, HP-UX, Irix primarily) servers can be accessed from views hosted on Windows clients. VOBs hosted on Windows servers can only be accessed by Unix clients with snapshot views. .
  • Integration With Other Rational Products: Other products (originally) from Rational_Software, notably ClearQuest and Rational_Rose integrate well with ClearCase.
  • =External links=

    *[http://www-3.ibm.com/software/awdtools/clearcase/ IBM s ClearCase site] *[http://www-106.ibm.com/developerworks/rational/rationaledge/ Rational Edge e-zine] *[http://www.clearconsulting.co.uk Clear Consulting (UK) Ltd (UK Rational Solution Provider, Consultancy, Training for ClearCase, ClearQuest, MultiSite, UCM) ] *[http://eclipse-ccase.sourceforge.net Eclipse ClearCase Integration, Open Source]