Search code examples
clearcaseclearcase-ucm

What is the use of component without VOB (Clearcase UCM)?


I was told to create component in UCM.

How would you explain a difference between component and VOB to a beginner?

Also It asks two option.

Components in VOB and Components without VOB.

What is the use of having Component without VOB?


Solution

  • You always have a Vob involved with a Component.
    A Vob is the database (file-based database, not an SQL-based) containing all versions of all elements (files and directories).
    Not to be mixed with a PVob, which is a special kind of Vob containing only UCM metadata (like the list of UCM projects, streams, components names, activities, ...).

    You have two kinds of components, but each one is a coherent set of files:

    • Vob component: the all Vob is a component.
    • Root-based components: the component has its root in the first directory level of a Vob: \aVob\aRoot.

    It is best to create root-based components (ie, several components per Vob), because each Vob you would create means several processes to manage it (vob_server, vob_rpc), and it becomes quite resource intensive quickly.
    However, several components (even an hundred) within a Vob is not a problem.

    But that means the name of your Vob must be "generic" enough to accommodate your components.


    As for rootless components (with a PVob, but no Vob), see "About rooted and rootless ClearCase UCM components".

    Rootless Components:

    • should NEVER be modifiable in a UCM environment.
    • are not associated with a data storage (vob-less)
    • are used to track changes from Other Components.
    • can contain dependency lists also known as a (Composite baseline Structure)
    • are tracked with baselines that have NO corresponding label type.

    Rootless Components should only be used to track the progress of Rooted Components.
    Rootless component baselines should be used when rooted component dependencies are needed. The dependencies are rigid and can enforce a strict process once implemented.

    See "To create a composite baseline" to see a rootless component in action.