Any ex ClearCase or VSS users out there?

Maritza Mendez martitzam at
Wed Oct 21 21:50:44 BST 2009

On Wed, Oct 21, 2009 at 8:05 AM, Krzysztof Nowicki <krissn at> wrote:

> As branching is concerned it's worth noting that ClearCase creates a branch
> of a
> file when the file is first checked-out and not when the branch is created
> (unless view profiles are used, which put a timestamp rule into the
> configspec).
> This effectively means that the branchpoint for a file is invisible until
> the
> file is first checked out. This looks similar to Bazaar, where you'd see
> the
> branch point once you commit your first revision on the branch. The only
> corner
> case is when you check-out a file in CC and undo the checkout leaving a
> branch
> with just version 0. This is however considered bad practice in the CC
> world anyway.
I am not an expert in ClearCase, although I am a user.

Krzysztof makes a very, very important point about how files branch in

And when you combine this knowledge with how Configuration Specifications
(aka CSPECs) work in ClearCase, it's not hard to see why some people become
very frustrated when trying to discover the *intent* of a change under
ClearCase.  Which versions you see *and* *how your files branch* depends on
the particular CSPEC which "filters" your current view.

Similarly, each file checked in is a commit in ClearCase, even if several
files are checked in as a group.  In fact, each file committed has its own
changelog entry.  The way I think of this (and some experts will probably
correct me) is that ClearCase fundamentally tracks history of each file,
from which the history of a branch must be inferred.  But that requires a
central server, because only the server knows the relationships between
branches outside an individual view (i.e. a specific CSPEC).  Conversely,
bzr (like some other tools) tracks the history of branches, from which the
history of individual files can be inferred.  Since each branch (excpet for
lightweight checkouts) carries history, the relationships between branches
are always clear, without depedning on a central server.

Another consequence is that the visualized "version tree" generated by
ClearCase can quickly become a bewildering array of circles and arrows.
Contrast this with the clean "railyard" diagrams generated by qlog.

My brain happens to work much better the Bazaar way (please, no jokes!) than
the ClearCase way.  But I am not here to criticize ClearCase.  What I am
saying -- as someone who has helped a few people make the jump from
ClearCase to bzr -- is that it might be much easier to present the bzr way
as a different way to achieve the same goals than to try to literally
translate one into the other.

So I'm not sure how much help I can be in the stated goal of helping people
migrate by documenting parallels between ClearCase and bzr.  I'll have to
think about that.  What I do know is that it is possible to migrate without
that documentation, if the people you are traning want to make the change.

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the bazaar mailing list