Download presentation
1
ClearCase Basics XML presentation
2
Contents Introduction ClearCase Concepts Simple ClearCase Use Case
ClearCase GUI and CLI Version Control of Directories Config Spec Labels, Branches, Merge Comparing Files and Folder versions Version extended pathnames XML presentation
3
Introduction – The CM Nightmare
Foo.old Foo.bak C:\dev\new\Foo.c Foo.c include header2.h ………….. Foo.c include head.h ………….. Foo.c include header.h when………….. C:\dev\Foo.c Foo.c include header.h hello………….. Which of these went into release 2? Which of these has bug 34 corrected? Who made that change on line 54? Where are Joe’s changes? XML presentation
4
Introduction – ClearCase basic Functions
Version Control VOB Workspace Management View Process Control Trigger Release Management Label, attribute src/ bar.c foo.c foo.h REL1.0 TESTED=”yes” XML presentation
5
ClearCase Concepts some keywords
VOB - Version Object Base View – Workspace Element - file or directory Branch – A way to make parallel development possible. Label – Tag Attribute - Name/value pair XML presentation
6
ClearCase Concepts – A VOB is…
Version Object Base A file system where ClearCase stores all version controlled files and directories. Contents of a VOB is accessed using views A VOB is visible on a client if mounted XML presentation
7
ClearCase Concepts – An Element is…
A file or a directory that is version controlled in ClearCase. Each element has a version tree. XML presentation
8
ClearCase Concepts – A Branch is…
A way of making parallel development possible Used to organize the different versions of files and directories An object that specifies a linear sequence of versions of an element The entire set of an elements versions and branches are called a versiontree. XML presentation
9
ClearCase Concepts – A Version Tree
XML presentation
10
ClearCase Concepts – A View is…
A workspace Selects one version of each element in every mounted/selected VOB, presented in a directory structure. Two types of Views Dynamic Snapshot XML presentation
11
ClearCase Concepts – Attribute and label is
Label – is a ”tag” to mark certain versions of a file, directory or a hole ”product structure”. E.g. to ”freeze” code at a specific release. Attribute – a name/value pair used to describe a ClearCase object. E.g. TESTED=”yes” XML presentation
12
ClearCase Concepts – Elements in a VOB
Public class { Public void… getA() - } Public class { Public void… Int getA() - } mod.java source Public class { Public void… Int getA(int i) Int getB() - } XML presentation
13
ClearCase Concepts – VOB & View
Workspace View private storage Visible versions are filtered by config spec rules Config Spec VOB Checked out version XML presentation
14
View Configuration Config 1 mod.java source Config 2 XML presentation
15
Working a view Checking out a file
Actually creates a copy in the view Undo Checkout for file, can leave a *.keep file as a view private file. XML presentation
16
Simple ClearCase Use Case
Access ClearCase: Start View, Mount VOB Check-out file Mark and right click Checkout Foo.c include header.h ………….. Edit file Checkin File Mark and right click Checkin XML presentation
17
Simple ClearCase Use Case #1
REL1 Foo.c 3 4 1 2 REL2 VOB Jane’s View Joe’s View Bar.c 1 2 REL2 XML presentation
18
Simple ClearCase Use Case #2
REL1 Foo.c 3 4 1 2 REL2 VOB Jane’s View Joe’s View Checkout Bar.c 1 2 REL2 XML presentation
19
Simple ClearCase Use Case #3
REL1 Foo.c 3 4 1 2 REL2 VOB Jane’s View Joe’s View Edit file Foo.c include header.h ………….. Bar.c 1 2 REL2 XML presentation
20
Simple ClearCase Use Case #4
REL1 Foo.c 3 4 1 2 REL2 VOB Jane’s View Joe’s View Foo.o Compile Foo.exe Foo.c include header.h ………….. Bar.c 1 2 REL2 XML presentation
21
Simple ClearCase Use Case #5
REL1 Foo.c 3 4 1 2 REL2 VOB Jane’s View Joe’s View Foo.o Checkin file Foo.exe Bar.c 1 2 REL2 XML presentation
22
Simple ClearCase Use Case #6
REL1 Foo.c 3 4 1 2 REL2 VOB Jane’s View Joe’s View Foo.o Checkin file Foo.exe 5 Bar.c 1 2 REL2 XML presentation
23
Simple ClearCase Use Case #7
REL1 Foo.c 3 4 1 2 REL2 VOB Jane’s View Joe’s View Foo.o Foo.exe 5 Bar.c 1 2 REL2 XML presentation
24
Working in ClearCase ClearCase Explorer Windows Explorer
ClearCase CLI: cleartool Tool integration XML presentation
25
Windows Explorer The Windows Explorer is used to work in ClearCase
Access files NO ClearCase move NO ClearCase remove NO ClearCase rename Entire filesystem XML presentation
26
ClearCase Explorer Use the ClearCase explorer to work in ClearCase:
Access files ClearCase move ClearCase rename ClearCase remove XML presentation
27
ClearCase GUI Menues Context menu ToolBox Help XML presentation
28
ClearCase GUI View VOB Version Tree Elements XML presentation
29
ClearCase CLI interface:cleartool
Same Syntax as UNIX ClearCase 1 XML presentation
30
Working in a view Storing files in a view
Does not share these files to everybody working in the VOB. These files are View-private and only seen by those working in that particular view. Not seen by others until they are put under source control XML presentation
31
Creating and Changing Elements
Version controlled elements are created using ”Add to source control” command In order to edit an element, it has to be “Checked Out” Changes are committed using the “Check in” command XML presentation
32
Find Checkouts In order to find checked out elements XML presentation
33
ClearCase GUI – Version Tree
element * CHECKEDOUT element * \main\LATEST XML presentation
34
Version tree – How to look at other version
The eye shows which version is selected in view To look at other version mark it and use the Windows ”Send To” menu XML presentation
35
Version Control of Directories
When is a new directory version created? Adding a new element Removing an element Renaming an element Moving an element XML presentation
36
Version Control of Directories
ClearCase automatically checks out/in the directory when using the Windows GUI:s. Example: Moving a file from ClearCase to ConfigSpec Drag and drop ClearCase ConfigSpec 2 3 Added config.cs 5 6 Removed config.cs XML presentation
37
The Config Spec Element type Filename Version Selector Element type
element * CHECKEDOUT element * /main/LATEST Element type E.g. Element (= all element types) , element -file , element -directory Filename Pathname to file: \project_vob\src\hello.c Pathname pattern: * or \project_vob\... Version Selector /main/4, /main/LATEST, /main/br1/LATEST, BUILD_45, RELEASE2 XML presentation
38
The Config Spec XML presentation element * CHECKEDOUT
element *.doc /main/LATEST element *.vsd /main/LATEST element *.mmap /main/LATEST element *.ppt /main/LATEST element *.mdl /main/LATEST element *.pdf /main/LATEST element *.xls /main/LATEST element *.zip /main/LATEST element *.exe /main/LATEST element .../ReqPro/... /main/LATEST element .../tools/clearcase/... /main/LATEST element ".../NPP Project/..." /main/LATEST element ".../NPP System/1_Business Modeling/..." /main/LATEST element ".../NPP System/2_Requirements/..." /main/LATEST element ".../NPP System/3_Design and Usability/..." /main/LATEST element ".../NPP System/4_Analysis and Design/..." /main/LATEST element ".../NPP System/6_Test/..." /main/LATEST element ".../NPP System/8_Enviroment/..." /main/LATEST element ".../NPP System/9_Config and Change Mgmt/..." main/LATEST element * CLEARCASE_CURRENT -nocheckout element * BUILD_SCRIPTS_CURRENT -nocheckout element * /main/npp_got_rel1/LATEST element * /main/LATEST -mkbranch npp_got_rel1 The Config Spec XML presentation
39
Setting the Config Spec
To set the Config Spec in ClearCase you can use the command line, the GUI or script. The command line can be used to read an existing text file or to edit it manually. The GUI is used to edit it manually. XML presentation
40
Setting the Config Spec – the GUI
Select the Config Spec tab In ClearCase Explorer Right-click on the view and select properties of view And press Edit When done editing save your changes by pressing OK XML presentation
41
Setting the Config Spec – the cmd
For editing an existing Config Spec use cleartool edcs An tmp file is opened where you can edit the Config Spec. When done, close the tmp file and answer “y” in the cmd if you like to set the new Config Spec XML presentation
42
Setting the Config Spec – the cmd
cleartool setcs is a good command to use if you for example have a text file with the Config spec to use. You just write cleartool setcs path_to_file_to_use.txt XML presentation
43
A Label… Is a user-defined name that can be attached to a version.
Identify specific versions of elements Can be used in config spec rules to identify branching points or to mark all versions that where used in a build. XML presentation
44
Apply Label XML presentation
45
Apply Label Select your view Press Next XML presentation
46
Select where to apply the label
Apply Label Select where to apply the label Press Add>> Press Next XML presentation
47
Browse for the label you would like to apply
Apply Label Browse for the label you would like to apply XML presentation
48
Select which label to apply
Apply Label Select which label to apply Or create a new label NOTE: Remember that label names shall be all UPPER CASE Press OK XML presentation
49
Apply Label Press Finish XML presentation
50
Apply Label – the Version Tree
Label on specific file version can be seen in the Version Tree XML presentation
51
Apply Label – the Version Tree
A label can also be applied from the version tree Right click on the version Select Apply Label… Mark the label you would like to apply Press OK XML presentation
52
ClearCase Reports Select Labels Click on ”Element with Labels”
Select path and the Label. XML presentation
53
ClearCase reports -example
XML presentation
54
Working on branch CM/Administrator defines branch type ”branch1”
Use View with config spec like pattern below <joe_bugfix>% cleartool catcs element * CHECKEDOUT 1 element * /main/branch1/LATEST 2 element * LABEL -mkbranch branch1 3 LABEL 3 foo.c LABEL 1 bar.c foobar.c LABEL 2 XML presentation
55
How to set up the branch In order to start working on a branch this is necessary: The branch type must be defined in ClearCase. The config spec must be written so it selects the correct version and creates the branch when necessary. XML presentation
56
Working on branch - continued
Before Checkout Checkout a file After Checkout After Checkin XML presentation
57
Deliver/Merge If using parallel development, there will be need for synchronizing the content at given times. Then a merge is performed between specified branches XML presentation
58
Before Merge - Generic Version Tree
1 Base Branch 1 2 ”From” version ”To” version Merge Result XML presentation
59
Graphical merge tool Merge Result Base From To XML presentation
60
Algorithm for Automatic Merging
Base ”From” ”To” Merge Result #include ”he.h” #include ”bo.h" int main() { /* Say Hello W */ printf(”Hello World!”); printf(”Hello to World!”); return 0; return 1; return 2; } deleted deleted 1 2 Base ”From” ”To” Merge Result inserted changed ? conflict XML presentation
61
Merge Conflicts When merging, ClearCase does an automatic merge.
If the merge detects conflicts, the user needs to resolve these. XML presentation
62
Merge (1) Base version (3) Contributor 2 ”Merge to” (2) Contributor 1
Main rel_1 (1) Base version dev_1 (3) Contributor 2 ”Merge to” (2) Contributor 1 ”Merge from” Merge Result version (Checked out) XML presentation
63
Merge one File 1 TO version FROM version XML presentation
64
Result is in the checked out version
After Merge Result is in the checked out version After Merge Recompile and test... Now everybody else sees it... Checkin XML presentation
65
Comparing Versions - Text File example
Compare with previous version Changed XML presentation
66
Comparing Versions - Word Example
1 2 The same principle as ”Track changes” in Word XML presentation
67
Comparing Versions – Directory Example
1 2 File ClearCaseInstallationGuide.doc does exist File ClearCaseInstallationGuide.doc does not exist XML presentation
68
Version extended pathnames
In ClearCase you access a version of a file You can choose what version to access In order to do this, ClearCase use version extended pathnames Version extended pathnames are a way to specify exact the version of interest XML presentation
69
Version extended pathnames
Some examples: specifies an element specifies a branch specifies a branch - specifies a version XML presentation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.