You are on page 1of 21

ClearCase/UCM Fundamentals Windows

Basic ClearCase Usage

February 10, 2005

ClearCase/UCM Fundamentals

Course Objectives


By the end of this course, you will understand:


    

The nature of the ClearCase file system Basic file versioning operations UCM objects and concepts Development workflow through UCM Working in a project and delivering your changes

ClearCase/UCM Fundamentals

Dynamic File System




Multi-Version File System (MVFS) Transparent access to versions from standard development tools Handles low-level file input/output operations

open() close()

dir type

ClearCase MVFS

nonnonversioned files

versioned files

ClearCase/UCM Fundamentals

The View is Your Workspace


 

Virtual workspace for an individual user Selects versions of files and directories to work with Allows developers to work without interfering with each other Each user may have multiple views
  

views for new development views for integration activities views for different development projects

ClearCase/UCM Fundamentals

Versions are Stored in Elements




An element is comprised of a set of versions, organized into a version tree Any file which can be stored on the Windows file system can be versioned in ClearCase as an element:
  

Branches

Labels Versions

text files binary files directories

ClearCase/UCM Fundamentals

Versions, Branches and Labels




Versions are organized in branches in each element Only one version of an element can be seen in a view directory Labels are applied to one version in many elements to create a project wide baseline Merge lines between branches are also saved

Branches

Labels Versions

ClearCase/UCM Fundamentals

Elements are Stored in VOBs




 

Versioned Object Base (VOB) is a repository of ClearCase elements Element versions, branches, labels, and other database information is stored in a VOB VOB name located at top level of view directory structure A network-wide file system resource A project may work on more than one VOB

ClearCase/UCM Fundamentals

Version Selection in a View




A view selectively filters a version of each element The views configuration determines which version to select
configuration
project

VOB
bar.c foo.c
src

bin

V I E W

bar.c

View

foo.c

server

ClearCase/UCM Fundamentals

View-Private Files


Files that are not under version control are called view-private files. They are located locally in the view storage A views directory can consist of both VOB VOB elements and view-private files
bar.c foo.c
project

View Storage
bin

src

V I E
foo.c

server
test.txt

bar.c

View

test.txt

your computer

ClearCase/UCM Fundamentals

Checked Out Versions




Checked out element versions are copied to the view storage Any engineer can see your checked out version in the version tree tool
VOB
bar.c
project

foo.c

View Storage
bin

src

V I E
foo.c

bar.c

foo.c

server

View your computer

10

ClearCase/UCM Fundamentals

UCM Overview


Activity based development process




grouping a set of changes in a single object

A set of tools and objects a level above versions, branches, labels and views


Each UCM object manages a lower level ClearCase basic type with additional process features

Workflow for making changes and delivering them to a common integration stream


In a continuous integration pattern, every engineer is responsible for delivering his/her own changes

11

ClearCase/UCM Fundamentals

UCM Objects


Activities


All changes (checkout and checkin) are associated with an activity Configuration of branch on top of a foundation label Support development isolation and collaboration Manages version labels of components on an integration stream Collection of an integration stream, development streams, related baselines and activities

Streams
 

Baselines and Components




Projects


12

ClearCase/UCM Fundamentals

Streams are Configurations




Streams serve two primary purposes


 

Configure views attached to them Store the activities that developers work on in their views VOB

Activity Activity Activity

Foundation Baseline

Stream

13

ClearCase/UCM Fundamentals

Streams: Baseline + Change




Streams encapsulate changes to components




Selects component baselines Development streams, typically one per developer Integration stream, for combining activities of all developers and creating new baselines
Activity Activity Activity

Two types of streams


 

Alpha BL1 BL1

Beta BL1 BL1

Each development stream creates a branch off the baseline

14

ClearCase/UCM Fundamentals

UCM Workflow

Develop

Join a Project

Make Changes

Rebase Workspace

Integrate

Deliver Changes

Build Component

Create Baseline

Recommend Baseline

15

ClearCase/UCM Fundamentals

UCM Deliver

Add Button

Add Button Defect 332 Defect 551

REL03. REL03.05

REL03.06 REL03.05

Development Streams
16

Integration Stream

ClearCase/UCM Fundamentals

UCM Deliver Operation




Deliver preview allows visibility prior to performing and actions Automatically sets up merge context and initiates merging if needed

17

ClearCase/UCM Fundamentals

UCM Deliver Operation


  

Can be cancelled, halted and resumed All work checked out, complete operation checks in all changes Delivery activity automatically created

18

ClearCase/UCM Fundamentals

UCM Rebase

Add Button Defect 332 Defect 551Defect 41

Add Button Defect 332 Defect 551

REL03.06 REL03.02

REL03.06

Development Streams
19

Integration Stream

ClearCase/UCM Fundamentals

Parallel Development in Streams




/garden_intg REL01

Two engineers work in two different views which are configured for two different streams
/bill_garden /ben_garden

RESERVED RESERVED

bill_garden view

ben_garden view

20

ClearCase/UCM Fundamentals

Delivery and Rebase




/garden_intg REL01 REL02

Changes are delivered to the integration stream, and rebased on other development streams
/bill_garden /ben_garden

bill_garden view

ben_garden view

21

You might also like