Clear Case

IBM Rational Clear Case is a very powerful Software Configuration Management tool.

Now it's owned by Rational, previously by Atria, and later by the merger of Pure Soft and Atria called Pure Atria. Big Blue gobbled up Rational, so now Clear Case is an IBM product.

Internally it's a very powerful versioning filesystem which presents different views dynamically to each user. Externally, it is an NFS server. This means that if you and I both look at a code repository, for example, we can do so from any machine and it'll work.

There are also command line and GUI tools to handle branching and merging, and so on. Absolutely beautiful.

I used it a few years ago (1994) as the filesystem underlying a tnt web server. It worked quite nicely. Anyone could edit anything, and when it was 'released' into the server's view of the filesystem, it just appeared. --Unknown

Clear Case also keeps track of event-histories, object-histories, type-histories, build derivation records, and the Clear Quest add-on supports full blown workflow modeling and process enactment using first class activities and activity streams with atomic change-packages. And just about everything is configurable/customizable (every fine-grained operation allows customer defined pre/post-operation "triggers" to be defined using whatever programming/scripting language you want (even API level access if desired).

Sorry if all that sounds like buzzwords for folks unfamiliar with the above terms. If youre not, I'm afraid you'll just have to trust me that these are bona-fide features used by a great many real world shops every day (which by no means should imply that your particular shop has need of them, it well may not).

Now for the bad stuff (and there is plenty to go around). It has a steep learning curve for those trying to administer and roll-out their own custom-deployed process of triggers & wrappers (actually, this is only true for *base* Clear Case -- not so for UCM Clear Case) . And the administrative overhead for Clear Case is exorbitant. It requires darn near full-time administration most of the time (sometimes a whole team for large projects in the 100 or more people range). -- Brad Appleton

What is it about Clear Case that requires so much time for administration? I hear a lot of people say that there is a lot of administrative overhead, but no one ever says specifically what takes so much effort. -- Ken Liu

Clear Case admin should be a full time job! - If you want to manage a bigger project, you should have a well trained and experienced Clear Case admin and you will manage to drive big projects with only one or 2 admins. We do projects distributed over 3 sites with more than 100 SW developers (8 Million NCSLs) and about 50 HW/ASIC developers - including all documentation and project management docs with only one admin. -- klausschneider@lucent.com

I've done Clear Case admin, and you can add me to the list of people who say it's a major pain, even though Clear Case is wonderful when it's working the way you want. It's been years, so the details are vague in my mind, but it was one of those things where they clearly didn't ever even try to make the admin easier. It used a ton of non-standard terminology, things had magic orderings, there was more than one way to do things, some obvious things arbitrarily didn't work and had to be done a different way, commands were inconsistent in naming and functionality, security was a joke (that was never widely known, I don't think). It got 5 times as hard if you had to set up separate 'volumes' (IIRC), too, on top of that.

It's absolutely not the kind of thing you want an average employee to set up or adjust, and even for minor maintenance an average employee needed weeks and weeks of training, and bring in the heavy guns consultants to make any non-trivial admin changes. In my spare time I forced Clear Case to submit to my will eventually, on a project involving 4 groups spread across the country, and it left me feeling like a magician. I was positively smug for some time thereafter. :-)

Nonetheless, there's nothing else like it, and I always miss using it (I never miss admin'ing it) when it's not around.

Other stuff distributed in the pages below.


Snapshot views

Dynamic views are extremely network intensive; forget about telecommuting. -- Will Sargent

The more recent version of Clear Case have snapshot views (much like CVS), which make telecommuting a lot easier. -- Ives Aerts

The alternative is Clear Case Multi Site. Snapshot views and Multi Site are on both ends of an axis to support what you call telecommuting. There is probably a Missing Synthesis between the two. -- Marc Girod

Snapshot views are good for telecommuting, and for organizations which like to decouple developers a bit. Multi Site is for organizations with multiple development sites--just like it sounds like.


Batch operations

Base Clear Case does not have support for batch operations (submitting several files under one change, comparing one labeled branch with another etc.)

V4.0 and later versions of Clear Case support "change sets". For comparing labelled versions, the Clear Case equivalent of the "find" command will do that for you... of course, you have to understand find(1) and its Clearcase equivalent.

I'm glad to hear that CC caught up with more modern version control tools (I'm glad because I'm forced to use CC in my day-to-day work). I'm not sure which version of CC I have, being on the client end, but it heartens me to think that there might be a newer, faster version of the thing waiting to be installed one day. Before using CC I used Perforce which was much simpler.


Clearcase has a built-in process called UCM, based on RUP, that is a more process and object-oriented approach to source control. The latest version of Clearcase, and its "lite" version, are both very good. Yes, it is a resource-hog; yes, it has a steep learning curve. However, overall, we feel that it takes care of a lot of the work and process that would be manually required for something like CVS.


Clear Case file system

If you're considering Clear Case, check out Perforce first. Way,way cheaper. 90% as functional.

Forget it! What I like about Clear Case is not that it is the world's best source code revision control system, what I like is that it is a filesystem.

Nothing that is not a filesystem can compete with Clear Case in that, its central strength.

However, for people who dislike the filesystem aspect, you may as well list the features that you think make it better than the thousands of competing products/freeware systems.

I would be interested to hear what advantages you think the built-in filesystem lends.

I imagine you are talking about Clear Case dynamic views. These are quite handy for storing project documents, released software packages and the like; a file system being a project manager friendly interface. But for source code control?

I've seen a few attempts at using dynamic views for source code control. The biggest problems have been the speed of compilation. On a dynamic view compilation took around 4hrs compared to 20mins on a snapshot view. Also, if I remember rightly, there was some extra administrative overhead to prevent conflicts (private branches?)

Snapshot views in Clear Case are like those of Perforce Version Control and can be used for source code control. But when it comes to snapshot views, I would say that Perforce has the upper hand here in terms of speed and usability. -- Chris Steinbach


Clear Case plugin for eclipse/ www-128.ibm.com



What are the clients available?

All the usual platforms - Linux, Solaris, HP-UX, Windows, et al


I'm using Clear Case again after a long hiatus, and I'm confused. How do you add a file to source control as a part of an atomic checkin including a set of other changes?

What's the best practice process for using reserved checkouts? Currently, we're doing the following:

update the view, run merge manager (TOO SLOW), check out directories with added/removed files by hand, add/remove those files, then check in.

getting strange messages from Clear Case during the merge manager step, it asks about checking in a "checkpoint" copy of the file - where does that get checked in to? if somebody updates their view after I do this save checkpoint, but before I check in my changes as a whole, can they see the checkpoint version? -- Jeff Bay


Worth checking out the Clear Case remote Client


Couldn't someone add a NFS mounter to Git Version Control and smack this Clear Case back into the Stone Age?? --Phl Ip


(Truth in posting: Perforce hired me to write a whitepaper on why Perforce was so much better than Clear Case; I didn't feel the need to lie) The filesystem mounting is Clear Case's greatest achievement and its greatest weakness. It is good at keeping you from accidentally writing new files and forgetting to add them to source control. It could theoretically save compile time by "winking in" object files that it's compiled with the same set of sources, but that's less relevant as the speed difference between compilers and hard drives increases. But if you set Git (or any other source control) up as a filesystem, then every file read becomes an SCM hit. So if you're writing in C and have a header that's used in 500 source files, that's 500 Git requests to serve that one file during a compile. You don't want to know how many file reads a C compiler does in a medium sized project. Maybe Git is fast enough to handle this, maybe not. I do know that I've had Clear Case installations where it took ten minutes to get a directory listing. --Rob Mandeville

"But if you set Git (or any other source control) up as a filesystem" - What does that mean in the context of git or any other DVCS? -- Don Branson

Maybe something using FUSE like github.com

See original on c2.com