As a company wide choice, we are moving to ClearCase and ClearQuest one project at at time until we are all on that platform.
Most of the projects is moving from CVS while a few others are using Team Foundation Server. We are one of those going from CVS but i have been on a project using TFS as well as using SVN at home, so I have some experience with at least a few kinds of Version Control Systems.
On the Issue, feature and enhancement part, I have seen a few different systems as well, here under MetaQuest Census, a in house developed tool (even worse than MetaQuest Census), and Bug Net which i use at home.
Expectations
For over a year we have waited for ClearCase and ClearQuest and we have really looked forward to it, CVS really isn't that good, but when you think about when CVS started and that it is properly more of “legacy” reasons that it is still maintained, i think it is ok that CVS is fairly problematic to work with and that it has some fundamental flaws.
After all it was much much better that what we had back then.
So being a project using CVS we things could hardly be worse, well ofc they could duh… we could be using a normal file share for the project, but i can’t imagine that being use for even the most simple projects, hell I use a Version Control system at home just for ONE developer, my self…
So we expected things to get better, way better actually, ClearCase was widely sold today and as an IBM product it had to at least rival SVN and TFS right? ClearQuest was also suppose to be an upgrade, after all MetaQuest Census is hardly worth any effort.
So YES…. things where changing for the better.
Days in hell
So now that we have made the switch, a week in so its fair to say that this is a first hand experience and that things may be much much better over time, but I HAVE to vent.
This is days in hell, or if there's a worse place that's where we are.
Current grudges.
- NO REPOSITORY DELTA!
Not shure thats the right “Term”, but whenever you update, rebase or likewise. ClearCase still goes though EVERY single item, not like SVN/TFS where you only have to look at the change sets between the version you checked out and the most recent, the only reason that it then can beat CVS in performance is ONLY because it’s a database.
- NO ATOMIC COMMITS!
Despite my belief and what I’ve read on the web, ClearCase is NOT atomic commits!… well apparently it is a setting or something, the problem is that with this setting enabled, if you commit large amounts of files, you might get a timeout and that means you can’t commit the whole bunch anyways.
- NO CHANGESETS!
AS WE KNOW THEM From SVN/TFS i have to add, in SVN/TFS a change set is created for every commit. ClearCase has “changesets” but it is not the same thing, instead a changeset in ClearCase is bound to an activity, an activity you can commit on more than ones if you wish i might add. This leaves it to a manual process to make sure that you can trace commits in a similar way.
- NO SIMPLICITY!
ClearCase is power packed with thousands of dialogs, windows, and other stuff just making it harder for you to do what you really wanted! Just this little screenshot of the amount of different tools it includes should give a good idea.
Many tools can be invoked directly from another tool ofc. Why are they all even here? I'm sure I won’t EVER use the “Remove View” tool or “History Browser” tool from here, Just give us one prober tool instead of 30+ half decent tools.
As a good example, to check out a file you have to associate it to an activity (To create one you need a Request, that has a Task where you can then create an activity), and then give a reason to why you checked it out. BUT WHY?
But in the end you need to have at least 3 tools open i find: - ClearCase Explorer
- ClearQuest Client (One of them, i know if 3 so far)
- And a ClearCase Project Explorer
- NO SIMPLE UPDATE!
Whenever you take an update from a stream, you won’t just get the latest, no if you have a change to a file, it will update your file against that version, why the hell would i want to do that? then there would be no reason what so ever for me to ever call update.
Apparently there is a feature added to the new client (which apparently isn't stable either) that makes update work as you would expect it to work, while this is good, it shouldn’t be added as a Feature!!… Just FIX! the current update so it works as we all expect and want it to!…
The current Update is useless to me, the best effect it will have is to “break” my local view!…
Evaluate that i have a File “A.cs” which contains a class “A” that uses another class “B” defined in “B.cs”, now i have added something to “A”, and in the mean time Peter adds something to both “A” and “B”, and the change happens to be a new Method on “A” that “B” uses. Now when i update i will get the new “B” but not the new “A”, now my local copy is broken because “B” calls something in “A” that doesn’t exist because i didn’t get the new “A” merged down. GREAT JOB ClearCase!…
(There is workarounds for this, and we have a project which has a “script” that does the right update, but that you have to create a script for this SHOULD say enough about it)!
It can only get better
Ironically enough they have this background in the ClearCase Explorer under an about pane:
Well i guess that little image can be seen in to ways…
My way of seeing it is that ClearCase is a Vortex that sucks down any Quality and Speed, leaving only the rest for you to work with.
But after all, things can (HOPEFULLY) only get better from here on, and i REALLY hope they does, and that ClearCase/ClearQuest becomes more smooth to use, but i doubt i will EVER be able to recommend it to anyone ever knowing that there's much better Version Control systems out there and that JIRA seems to be a way better alternative which can integrate with many Version Control Systems.
I Haven’t tried it, but I am thinking about trying the 30 day trial, I just wish i could get a bit prolonged trial, like 90 days or even 180 days. I Doubt that I can get a OpenSource license even though I freely share (so far at least) my spare time projects when i feel they have something to offer, after all I am a single person, not a well known OpenSource project.
Disclaimer!
ALL the above is opinions and first hand experiences, problems listed might be circumstantial because of how we use it or because we are new to it, but i didn’t promise anything else.