Choosing between UCM and base ClearCase

前端 未结 2 2007
傲寒
傲寒 2021-01-07 11:38

Which one is better? UCM or base ClearCase?

For paralel development, do we need UCM? Is using manual branching is error prone on base ClearCase?

Is serial de

2条回答
  •  花落未央
    2021-01-07 11:40

    One is not better than the other, UCM represents a different set of best practices that you can choose to apply on top of base ClearCase.

    UCM is great at defining a coherent set of files (the UCM "component") that will be:

    • branched in the same branch
    • labelled ("baseline") as a all (all the files receive an immutable label)
    • referenced by other streams (list of baselines)

    Parallel development can benefit from UCM because of the streams you can set-up in advance, in order to define your merge workflow. You don't impose anything, but if you finish a development effort on a sub-stream, the natural merge to do is a "deliver" to the parent stream. (As opposed to base ClearCase, where there is no "hierarchical organization" for branches: once you finish a task in a branch, you can merge your work to any other branch: there is nothing to remind you what could be a natural candidate branch for your merge).

    But the other advantage is the definition of a configuration, i.e. the exact list of baselines (labels) you need to get in order to "work" (compile, or develop a new feature, or deploy, or refactor, or...).
    Depending on the number of components you have to deal with, you will then adopt:

    • a system approach: every component is modifiable
    • a component approach: one component modifiable, the others non-modifiables: you only develop in one set of files, and use the others at a fix label for your compilations.

提交回复
热议问题