Fog Creek Software
Discussion Board




ClearCase Source Control

I am a consultant working in NYC.  The last two places that I have worked have each recently switched to Rational ClearCase.  In both places management wanted ClearCase and the developers emphatically did not.  In all cases where I have seen it used with any success at all there was an employee of Rational on site fixing the problems that came up.  Personally, based on my experiences, I will be adding 5% to all time estimates when CC is required.

My questions: 
What experiences have others in the JOS community had with this product (positive or negative)? 
Is anyone out there using it successfully? 
Did you need a Rational employee on site to use it? 
What does CC do for you that the other similar products will not?

Thanks in advance.

RW
Wednesday, February 05, 2003

I had a boss once who had used ClearCase at a previous job. "It's terrific!" he said. "I wish we could use it here! It's so good, we had a FULL TIME ADMINISTRATOR at the last place just to keep that thing running!"

Joel Spolsky
Wednesday, February 05, 2003

At my last employer, we had several developers pushing to use ClearCase. They thought it was an excellent product and had used it successfully at previous employeers. The only reason we didn't adopt it was the belt-tightening that was going on (resulting in my being let go during the 3rd round of layoffs).

Of course, we were using Sun's CodeManager to coordinate development being done at three locations (each on a different continent) so it probably would have been a giant step forward.

jeff
Wednesday, February 05, 2003

I like the neat way that ClearCase is a viewable as a file system (albeit only on the good platforms) so that you can do continuous integration.

It seems a little heavyweight, however.

In my limited experience, it's decent, but it does seem to need a lot of administration work.  I shudder to recomend it because it's expensive..

w.h.
Wednesday, February 05, 2003

I am currently using it.  The file system model is quite a bit different from standard models, so a certain amount of initial training would be useful.  Not a lot, just enough to explain to people what is going on.

Our biggest problems have been a result of a poor version plan.  This is not a CC problem.  You need a version plan and a plan for creating views.

The system is provided by an IT group, so I don't know if they have an on-site Rational person.

We also use Rational Rose which is a bigger source of trouble.

mackinac
Wednesday, February 05, 2003

Correct me if I'm wrong (I've used CC only once before on a 6 month contract project):

For each code change:

ClearCase forces you to branch, change code, check in, merge. 

That is, each check out/ check in requires a branch.

Perhaps this was merely policy imposed on the project, I'm not sure.  I found this to be absurd.

The sign of a truly powerful CM tool is that you spend a minimum of time thinking about it.  It impedes code development, testing, release as little as possible - with as little "ceremony" and policy as necessary to get the job done.

My experience with CC:  I hated it.  I've used PVCS, RCS, CVS, and Perforce (and one other proprietary thing: SLM).  I like Perforce best and SLM was by far the worst of all possible worlds.  An unimaginable heap of crap: not even viable.  CC is my least favorite of the viable options.

Nat Ersoz
Wednesday, February 05, 2003

I have look into ClearCase for some source control issues at my work,  Most CM people tend to agree that if you either have a rigid well defined CM Process or a full time Admin (and preferablely both)  ClearCase as a tool can be a pleasure to use.  Why use it if it requires such over head, Mainly because it goes beyond just source control if combined with their bug tracking tool (ClearQuest) It can be used as a process enforcement and Change Management tool that tracks all changes and issue right to the source code and back to a requirement.  Handy if you have FDA or MilSpec style regulation requirements to meet.

Cheers
MAD

A Software Build Guy
Wednesday, February 05, 2003

>>> That is, each check out/ check in requires a branch.

Perhaps this was merely policy imposed on the project, I'm not sure.  I found this to be absurd.<<<

It must have been policy.  ClearCase does not have such a requirement.

We have a similar policy.  It seems quite reasonable to me.  Of course, testing occurs on that branch before the changes are merged back in to the main branch that everyone is working with.

mackinac
Wednesday, February 05, 2003

Nat,
Out of the box ClearCase attempts to enforce UCM (Rational's CM Process) on any versioned artifact.  This is not ideal for alot of projects and this process should have been explaned to you.  The Admin/management can change this default process behavior if they choise to and ClearCase can act as 'Normal' source control tool.  But part of the function and appeal (to management) is the process enforcement system that is part of ClearCase.

The braching and force merging is the UCMs way of keeping Changes under control (only management approved changes go to the trunk)

cheers
Michael Duran
MAD

A Software Build Guy
Wednesday, February 05, 2003

I've used ClearCase on three separate projects with three separate firms.

I think it's great, especially for large projects with several interrelated deliverables being worked on by different teams.

You do have to read the manual *very carefully* before using it, and you do need to have a policy for how you are going to use it - Clearcase doesn't force a particular model of SCM, rather it supports several common models. Hence the need for an administrator or at least somebody to come up with a policy.

It's also quite expensive.

Nat - looking at your post, I suspect your local policy tended towards overkill if your team had to make a branch for every single file change. That does sound a bit painful!

For the record, I've also used CVS, RCS, SCCS (ugh), VSS and StarTeam - I'd always recommend starting off with CVS if you have a small team and budget to match.

No, I don't have shares in Rational, and I don't work for them either. ;-)

Gerard
Wednesday, February 05, 2003

The default policies of ClearCase out of the Box are set for Rational's UCM (I recently talked to a Rational Sales team on site and I asked about it) Yes you can change your policies to reflect your CM Process or lack of one.  That said, the tool then uses these policies (weather the default or the ones that have been create to match your process) to controll the use of the tool (It enforces the policies).  Is this bad, No not really,  All I was pointing out was that the tool was doing what it is told to do by the Admin, management or a Rational rep, in Nat's case It was not the Tools fault so much as a poorly defined,  not well thought out, or unexplaned/poorly explaned policy issue with that employers system.

cheers
MAD

A Software Build Guy
Wednesday, February 05, 2003

CC was (is) widely deployed in Ericsson (thousand and thousands of installations). The typical end user experience: complex, _very_ hard to use, crashing sometimes. Every group need to have dedicated CC administrator.

I've seen people spending maybe 20% of their time to fight with CC.

Pavel
Wednesday, February 05, 2003

We use ClearCase at my current company, full UCM mode. 

My #1 complaint is that using ClearCase, at least with the UCM process, is that it does NOT make easy things easy.  You need to know quite a lot about UCM, ClearCase and ClearQuest just to do simple check-in/check-out activities. 

I find it gets in my way a lot more than it helps, since I'm not 100% "bought-in" on the benefits of UCM.

And learning about ClearCase and ClearQuest can be quite a chore, since for all of their expertise in building OO and component-based software, I'm of the impression that nobody at Rational could design a decent user interface to save their life.  To top it off they tend to invent new jargon to explain concepts that everyone else in the industry references in more simple and clear-cut terms (I'm not talking about the UML here, I'm fine with that, I'm talking about VOBs and rebases and such).  I'm pretty convinced they do this solely to drive people to their "Rational University" instruction classes.

I suppose for the release engineer-types, ClearCase is very useful, but as a day-to-day developer used to simpler systems (Perforce, VSS and CVS, specifically) I'm NOT a ClearCase fan. 

Mr Nutty
Wednesday, February 05, 2003

Uh yeah, every single Rational product is designed to fit into their workflow model, their unified process, and the rest of the  suite of products.

w.h.
Wednesday, February 05, 2003

I have been looking into CC for a month or so and I am very impressed. Why?

* No other product (AFAIK) has views where files are all available for read WITHOUT having to make a local, or somewhere , copy. This is much easier to work with than CVS for example.
* This is important for us because we are generating output results which takes programs plus a few Gigs of data.
* The facilities for derived object tracking are exactly what we need. It means for example that dependencies don't need to be tracked explicitly. And if they are then CC can check no unexpected items were also called

DaveG

Dave garbutt
Wednesday, February 05, 2003

Don't get me wrong, as far as having a flexible feature checklist goes, ClearCase does just about everything and then some.  And the software is impressively stable for having such a wide feature set.

But infinite flexibility is not always a good idea if the flexibility comes at the cost of ridiculous usability and administration problems.  If it kept the easy things easy and still managed to do all of the advanced stuff, I'd love it, but it doesn't.

Mr Nutty
Wednesday, February 05, 2003

I work at a major telco manufacturer. I've been using clearcase for a couple of years now. Iwasn't convinced at first (I had been using RCS before), but now I am.

CC is a very powerful tool. We all find it very easy to use. The virtual filesystem it creates (a "view") is a joy to work through. The merging tools are a joy. They alone are probably worth paying through the nose for.

There are a few places where it seems to fall down though. First, the windows GUI  is much much better than the Unix gui. I wish someone would spend some time working on that.

Second, it is sometimes not as clever as it thinks it is - it has this "wink in" facility where it will try and find a recently compiled version of a file on your branch (to reduce compilation times). In my experience it is also very good at trying to wink in versions compiled for different architectures - not a bonus!

Finally, and most tellingly, where I work we probably have about 300 developers using it. We have at least 2 people working full time just trying to keep it upright. That isn't doing the usual sysadmin stuff - that's stopping CC from falling over.

I'm quite happy to admit that I havn't used all that many other source control systems (SCS, RCS and CVS). For example I havn't tried perforce or bitkeeper. But in my experience, if you can afford it, and if you can afford the deicated tech support to keep it running, there is nothing like it.

In fact, part of me keeps wondering whether I could create an open source version with most of the functionality I need - probably based around Ruby with a RDBM (MySQL ? ) behind it.

regards, treefrog.

treefrog
Thursday, February 06, 2003

<quote>
No other product (AFAIK) has views where files are all available for read WITHOUT having to make a local, or somewhere , copy. This is much easier to work with than CVS for example.
</quote>

You can use a tool like viewCVS to browse through your CVS source base and view any version of any file or even do diffs.

http://viewcvs.sourceforge.net/

Here's a live example for the Apache source code:
http://cvs.apache.org/viewcvs.cgi/apache-1.3/

One advantage of CVS is that it is so big in the open source world that all kinds a great and generally free tools are created. I'm also very curious what will happen with its successor Subversion currently being developed by the creators of CVS.

http://subversion.tigris.org/

Jan Derk
Thursday, February 06, 2003

Thanks for your opinions everyone.

This was most helpful.

RW
Friday, February 07, 2003

Regarding the CC and read access, whenever you read a file you are of course copying it locally. A virtual file system like VOBs means that every access goes to the server.

This is a two-edged sword. It allows lots of central control and that you can specify things consistently. It also means lots of network traffic and beefy server requirements.

Robert Cowham
Saturday, February 08, 2003

No, you don't necessarily have to have a local copy -- that's what make dynamic views so useful. They just create a placeholder until you actually need to checkout the file. If you want to look through a file, they'll hit the server and pull it's contents back.

CC is *very* powerful. Yes, it can be a bitch to get started with, but once you're familiar with it, it becomes clear how very elegant its design is. I like to think of it as the vi of SCM tools -- hard to learn, but amazingly powerful. The only issue I have with it is speed -- working with VOBs that contain upwards of 10k files, it's not uncommon for labelling to take 1-2 hours. There are workarounds (notably, using timestamps instead of actual labels), but that's really something they need to figure out...maybe a P2P model like BitKeeper's would benefit them.

Syed Uzair Aqeel
Sunday, August 29, 2004

*  Recent Topics

*  Fog Creek Home