-1

I am a mercurial person. I even use it as an incremental backup tool. I used to use SVN and CVS.

In a recent project, I had to to use clearcase and encountered lots of issues with it. For example, I could not figure out how to recursively include a whole tree of code without writing a script or using awk or find. Is there a way to accomplish this easier?

I also believe (but not sure) that clearcase integrates issue/bug management with the code. I would not like to have the managing of my code revisioning tightly encumbered with the issues, any suggestions?

My further questions are:

  • Is clearcase in obsolence as a version control env? Is it likely that in the project I am working compelling me to use clearcase simply because it is a legacy project?

  • It gives me an impression that it is obsolete, over-engineered and should be phased out. Is that the current situation with clearcase among programmers?

  • Are there compelling reasons/features/functionality in clearcase that it is preferred over SVN, GIT or Mercurial?

  • Perhaps, there is a whole ecosphere of reasons why the project is using clearcase and that I need to drop my mercurial mentality and spend time getting immersed in the clearcase ecosphere I have yet to discover?

  • Is the lack of features in clearcase the reason for the lack of features in the clearcase GUIs?

Doc Brown
  • 199,015
  • 33
  • 367
  • 565
  • 2
    Did my question get voted down by a clearcase enthusiast? I mean if there are usability of clearcase compared to mercurial - then answer the question rather than expressing depression of having to use clearcase. – שינתיא אבישגנת Aug 19 '12 at 07:01
  • Other criticisms about ClearCase: http://stackoverflow.com/questions/1074580/clearcase-advantages-disadvantages – VonC Aug 19 '12 at 07:32
  • 2
    This is more of a rant against ClearCase than anything. The questions you have are biased against it. I suspect that's one reason you got downvotes, though certainly the reason I am voting to close as not constructive. – Oded Aug 19 '12 at 08:02
  • I am ranting. I am making an observation that I suspect that it is in obsolescence. – שינתיא אבישגנת Aug 19 '12 at 08:36
  • I meant to say, I am not ranting - I had never heard of clearcase before this and I need to know if it is a useful skill to pick up by getting answers to a few objective questions. – שינתיא אבישגנת Aug 19 '12 at 08:45
  • @BlessedGeek: using your words a little bit more carefully, in a less insulting manner, would probably result in a question which would not be downvoted and closed, and you would get even better answers to what you want to know. – Doc Brown Aug 19 '12 at 09:32
  • @Doc Brown: I edited the question, trying to reduce ranting and make the question more objective. Do you have any hints to go further? – Arseni Mourzenko Aug 19 '12 at 09:49
  • @MainMa: seems your effort came too late, sorry - others have already closed the question. – Doc Brown Aug 19 '12 at 09:54
  • Though I didn't downvote I have to live with Clearcase at work I feel it gets the nod from legacy use and "enterprisy" features. Not that you couldn't build an enterprise solution out of either of the alternatives, its just a different way of thinking. – Rig Aug 20 '12 at 11:00
  • Incident to googling for a decompiler UI, I encountered this page (10 practices of HIGHLY INEFFECTIVE programmers): http://www.javaworld.com/javaworld/jw-08-2012/120809-10-practices-of--highly-ineffective-software-developers.html. Hey, look at item #3!! Felt Vindicated if I indeed did rant. – שינתיא אבישגנת Aug 20 '12 at 15:45

2 Answers2

4

Is clearcase in obsolence as a version control env? Is the project I am working compelling me to use clearcase simply because it is a legacy project?

Yes. It is the evolution of an old SCM started with Atria Software in 1992.
There is no reason to use it except because of "group policy" (IBM Rational ClearCase can be part, for instance, an IBM license/materiel contract and package which includes much more than just that product).

It gives me an impression that it is obsolete, over-engineered and should be phased out. Is that the current situation with clearcase among programmers?

Yes. Its main issue is its scalability: when you merge thousands of files or do anything involving a large number of (UCM activity, UCM baselines, ...), it is just too slow.
I have seen merges (UCM deliver mainly) which took hours, even a full day, even for a trivial merge.
Git or Mercurial would have merged the same number of files within seconds.

I currently phase out that software for others (free like Git, or not free like Rational Team Concert, which is much better than ClearCase, has private commits like DVCS have, and has merges which takes seconds, not hours)

Are there compelling reasons/features/functionality in clearcase that it is preferred over SVN, GIT or Mercurial?

As I explain in "Choosing between UCM and base ClearCase" and "ClearCase UCM - best practices using components", its UCM methodology (shipped with ClearCase) is full of good idea, and its branch/merge model is quite clear, well received by developers.
Its implementation (of UCM, or of merging) is terrible (because it doesn't scale well when the numbers of files increases)

It is different from a DVCS (Git, Mercurial): see "What are the basic clearcase concepts every developer should know?" for a comparison.

Perhaps, there is a whole ecosphere of reasons why the project is using clearcase and that I need to drop my mercurial mentality and spend time getting immersed in the clearcase ecosphere I have yet to discover.

Errr no. There is a large base of ClearCase licenses still active, which is why the product is still supported.

So, the unusability of clearcase to me certainly has a lot to do with the lack of GUI features. Is the drought of features in clearcase the reason for the drought of features in the clearcase GUIs?

The GUI is a shame, completely synchronous, which means you have to wait after each click for ClearCase to query and get back all the (elements, UCM activities, streams, ...).

VonC
  • 2,484
  • 2
  • 20
  • 19
  • 1
    +1 Good history and links. – Stuart Marks Aug 19 '12 at 17:02
  • is it known to have steep learning curve? My friend was forced by mgmt to switch to ClearCase from SVN, has been cursing it for about half year but after that, somehow changed his stance to opposite ("you know it's good, I like it, blah blah"). I've seen that pattern in other solutions with steep learning curve - that's why I ask. – gnat Aug 19 '12 at 17:29
  • 1
    @gnat the underlying model is sound, and well understood be developers; the version tree in particular is appreciated for its clarity. But the implementation being... what it is, it won't age gracefully, and that same version tree with dozen of branches and hundreds of versions will be a chore to use. So the learning curve isn't that steep, but you still need an admin who knows enough to advise you on branching and labeling policy (unless you are using UCM, which offers a nice answer to those issues, but again, which will become very slow once you have a ton of Streams and Baselines) – VonC Aug 19 '12 at 17:33
  • @VonC I see - thanks! My friend didn't mention admin, per my recollection he spoke all the way like learning and doing everything himself from ground zero – gnat Aug 19 '12 at 17:39
  • 1
    @gnat sure you can learn it on your own, but ClearCase is really not a tool you just pick up on your own and use on your personal computer ;) Which is very different with DVCS (Git or Mercurial). – VonC Aug 19 '12 at 17:41
  • @VonC a-ha, this matches nicely with _half year cursing and sudden change after that_. Thanks, that story has been a bit of mystery to me before – gnat Aug 19 '12 at 17:59
1

ClearCase is not going away anytime soon. There are thousands of companies using it, and IBM tells me they will continue to support it as long as their large clients continue to use it. But yes, it is showing its age. It does have a learning curve, but once you learn it, it is very powerful. Your comment on lack of features isn't accurate. ClearCase has a lot of great features, but you have to go through that learning curve to discover what it can do for you.

The reason a project is using ClearCase is because the company paid for it, and it is expensive. If a company has paid for ClearCase, they are not going to want to change directions and incur the cost of lost time for the planning, and switching of the tools. Switching SCM systems is costly from a time loss perspective, especially in a distributed development environment. Typically, when new projects spin up there is a discussion about changing tool sets. That is the best time for a company to make a move to something else.

Jon Shanks
  • 21
  • 1