Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question

closed as not constructive by Jim G., MichaelT, BЈовић, Martijn Pieters, Kilian Foth Mar 20 '13 at 10:04

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

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. –  Blessed Geek Aug 19 '12 at 7:01
    
Other criticisms about ClearCase: stackoverflow.com/questions/1074580/… –  VonC Aug 19 '12 at 7: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 8:02
    
I am ranting. I am making an observation that I suspect that it is in obsolescence. –  Blessed Geek Aug 19 '12 at 8: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. –  Blessed Geek Aug 19 '12 at 8:45

2 Answers 2

up vote 4 down vote accepted

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, ...).

share|improve this answer
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

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.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.