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?
10
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, …).
6
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.