SlideShare ist ein Scribd-Unternehmen logo
1 von 129
ClearCase Fundamentals
Course Goals ,[object Object],[object Object],[object Object],[object Object]
What this course does not cover? ,[object Object],[object Object],[object Object],[object Object]
Introduction to SCM
Software Configuration Management (SCM) SCM “ SCM is about managing change to software” Brian White , Software Configuration Management Strategies and Rational ClearCase (2000)
What is SCM? ,[object Object],[object Object]
Why SCM? ,[object Object],[object Object],[object Object],[object Object]
Why SCM? (Cont) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SCM Tools ,[object Object],[object Object],[object Object],[object Object]
Introduction to Rational ClearCase Family
IBM Rational ClearCase family ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ClearCase family – At a glance
ClearCase LT
ClearCase
ClearCase MultiSite
Capabilities ,[object Object],[object Object],[object Object],[object Object]
Capabilities (cont) ,[object Object],[object Object],[object Object],[object Object]
Capabilities (cont) ,[object Object],[object Object]
ClearCase implements SCM  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ClearCase Roles ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ClearCase Roles (cont) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ClearCase Roles (cont) ,[object Object],[object Object],[object Object],[object Object]
Typical Developer Workflow
Typical Developer Workflow ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Typical Workflow: Setting Up Your Workspace ,[object Object],[object Object],[object Object],[object Object]
What is a Versioned Object Base (VOB)? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],VOB
VOB
Projects and VOBs ,[object Object],[object Object],Project 1 Project 2 VOB A VOB B VOB C
What is an Element? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is a Version? ,[object Object],[object Object],[object Object],Versions of element   hello.c 0 1 2 3
What is a View? ,[object Object],[object Object],[object Object],VOB Hello.c Util.c Hello.c v.3 util.c v.2 0 1 2 3 0 1 2 3 View
What is a Configuration Specification? ,[object Object],[object Object],VOB hello.c Util.c hello.c v.3 util.c v.2 Configuration Specification VIEW 0 1 2 3 0 1 2 3
Types of Views ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Which Type of View Should I Use? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Structure of a Dynamic View VOB 0 1 2 Hello.c Util.c hello.c Read/write util.c Read-only Virtual File System View Storage hello.c Check out Configuration Specification 0 1 2 3
Structure of a Snapshot View VOB 0 1 2 hello.c util.c hello.c Read/write copy util.c Read-only copy Local File System Configuration Specification Check out 0 1 2 3
Shortcut Pane Folder Pane Details Pane Information Pane Intro to ClearCase Explorer
Creating a Dynamic View 1 Launch the  View Creation Wizard Toolbox tab 2 Select  Dynamic View
Creating a Dynamic View (Cont.) 3 Choose a view name (or view-tag) 4 Select a drive letter to which you want to connect the new view, or you can select {none} and work directly on the MVFS(M:) drive 5 Click Advanced Options 6 Accept the default or specify the location of the view storage directory 7 Click on Finish
Starting a View 1 Click  Start View 2 Select the view you want to start, and then click  OK ,[object Object],[object Object]
Mounting a VOB for Dynamic Views ,[object Object],[object Object]
Typical Workflow: Work on Files ,[object Object],[object Object],[object Object],[object Object],[object Object]
Checkout / Checkin Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],2 3 R Placeholder
View before and after Checking out VOB 0 1 2 Hello.c Util.c hello.c Read/write util.c Read-only View display View Storage hello.c Check out Configuration Specification VOB 0 1 2 Hello.c Util.c hello.c Read-only util.c Read-only Configuration Specification View display Before checking out After checking out 0 1 2 3 0 1 2 3
Types of Checkout ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],3 R 3 R U
Checking out a File: ClearCase Explorer
Checking out a File: Windows Explorer
[object Object],[object Object],checkout | co [ -res/erved ] [-unr/eserved [ -nma/ ster ] ] [ -out dest-pname | -nda/ ta ] [ -pti/me ] [ -bra/nch branch-pname | -ver/sion ] [ -nwa/rn ] [ -c/omment comment | -cfi/le comment-file-pname | -cq/uery | -cqe/ach | -nc/omment ][ -q/uery | -nq/uery ] pname ... Checking out a File: Command Line Interface M:ags_viewestource>cleartool checkout file.txt Checkout comments for "file.txt": . Checked out "file.txt" from version "ain". (OR) M:ags_viewestource>cleartool cleartool> checkout -reserved -c "command line checkout" file.txt Checked out "file.txt" from version "ain". You must end the comment by typing “ . ” and  Enter
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Version Directories
Checking in a New Version ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Resolving Checkouts 3 R 3 R U Reserved Unreserved 1 Check out 3 4 2 Check in 1 Check out 2 Check out 3 4 3 Check in 5 U 4 Merge 5 Check in
What is a Version Tree? A hierarchical representation of an element in which all versions are logically organized. VOB 0 1 2 3 hello.c /main Element Name Branches R1 Label 0 1 2 /r2_int Versions
Version-extended Names ,[object Object],[object Object],[object Object],VOB 0 1 2 3 hello.c /main R1 0 1 2 /r2_int hello.c@@/main/r2_int/1 Version selected by your view
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],What are View-private Files?
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Branching Enables Parallel Development hello.c /main R1 /r1_fix /r2_int /nag_r2 /chris_r2
Branch Type ,[object Object],[object Object],[object Object],Main branch Integration  branch Hello.c /main Util.c /main /r2_int /r2_int Using branch  types unsures Consistent Tree structures
Working on Branches ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],The Default View Config Spec Rule 1 Rule 2 Default Configuration Specification
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Editing a Config Spec to Create Branches
Version Tree with Updated Configspec Before checkout into view with the config spec using the auto  mkbranch  rule After checkout; notice that checkout created the  rel1_bugfix  branch
Typical Workflow: Merging ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Merging Overview 0 hello.c /main 1 2 3 0 1 2 /r2_int
[object Object],[object Object],[object Object],Element Types and Merging CAN be merged CANNOT be merged directory binary delta file html compressed file ms word file rose xml text file compressed text file xde
How ClearCase Merges Files and Directories Before Merge After Merge Base Contributor From Contributor Target (to) Contributor Merge Result
Integrating Parallel Development:  Merging Policies ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Merge Algebra A B C D E A (Deleted) C D R  (Changed) X  (Inserted) A B C Z  (Changed) Q  (Changed) A Deleted C Z  (Changed) ?  (Conflict) X  (Inserted) Start Diff  Merge Tool Base contributor version “ From” contributor version “ To” contributor version Merge Result
Types of Merges Merge tool prompts you to choose between merge contributors There are conflicting changes among the contributors Manual Automatic merge There are changes, but no conflicting merge points Automatic Non-trivial Merge result contains changes from the “from” contributor Base and Target contributor contain the same data from the “from” contributor Trivial Result Changes Type of merge
Merge Utilities ,[object Object],[object Object],[object Object],[object Object]
Merging using Version Tree Browser Scenario:  For element  new doc  merge  v2  on  /main  with  v1  on  rel1_bugfix 1 Select the  “from”  version and then click  Tools > Merge to 2 When the cursor changes to resemble a target, click the  “to”  version
Merging using Version Tree Browser (cont.) 3 Select  Yes  to perform the merge. 4 Click  OK  to confirm the merge
Merging using Version Tree Browser (cont.) ,[object Object],[object Object],[object Object],[object Object],[object Object],5 Check in the file to complete the merge
Merging with the Merge Manager ,[object Object],[object Object],1 Click on New
Merging with the Merge Manager (cont.) 2 Select the view 3 Select the specific element you want to merge
Merging with the Merge Manager (cont.) 4 Choose a method for selecting the version of each element to merge Merge from LATEST element on a selected branch Merge from element according to a specified label Use a ClearCase query language statement to select the “from” versions Merge elements selected by a particular view
Merging with the Merge Manager (cont.) 5 Provide additional information needed for the merge, then click  Finish 6 Confirm the merge criteria, then click  Find
Merging with the Merge Manager (cont.) 7 Click  Yes  to verify the merge elements 8 Click  OK  to start the merge
Merging with the Merge Manager (cont.) Base Contributor: The original version Contributor1: The version that you are delivering  FROM Contributor2: The version that you are delivering  TO Merge results pane Navigation Buttons: Use to move between merge points Merge Buttons: Click to move changes from the first, second, or third contributor pane to the merge results pane.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Merging from Command Line
Other ClearCase tasks
Working with Elements ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Working with Views ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Adding Files to Source Control ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Adding Directories to Source Control Add directories to the source control the same way you add individual files When you add a directory to source control, files within the directory remain view-private
Adding Many Files or Directories ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Comparing File and Directory Versions ,[object Object],[object Object],[object Object]
Comparing Directory Versions The Compare tool enables you to view, side-by-side, the elements appearing in two versions of a directory. CLI Procedure for File Comparison and Directory Comparison
Moving an Element From ClearCase Explorer  only , drag and drop to move elements within a VOB ,[object Object],[object Object],[object Object]
Removing References to an Element ,[object Object],[object Object],[object Object]
Renaming an Element CLI Procedure To Remove Reference to an Element:   >cleartool rmname hello.c  To Rename an Element:   >cleartool move hello.c hello1.c
Removing a Version ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Removing an Element ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Viewing an Element History ,[object Object],[object Object],[object Object],[object Object]
The lost+found Directory ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],Finding Checkouts Based on selection criteria, ClearCase displays a list of the checked out files in the  Find Checkouts  window.
[object Object],[object Object],[object Object],[object Object],Cancelling a Checkout
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Selecting a Version Other Than Those in Your View
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Removing a View
[object Object],[object Object],[object Object],[object Object],ClearCase Metadata
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],What is metadata?
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Kinds of Metadata Kind :  branch Type :  rel1_bugfix Instance:  hello.c@@/main/rel1_bugfix
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Metadata Uses
[object Object],[object Object],[object Object],[object Object],Using Labels
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Using Attributes hello.c /main R2.1 /r2.1_bugfix BugNum = 22 tested=“failed” BugNum = 54 tested=“passed”
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Managing Project Policies: Triggers
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Managing Project Policies: Triggers (cont.)
[object Object],[object Object],[object Object],[object Object],[object Object],Showing Project Relationships: Hyperlinks
Viewing Metadata Types: Type Explorer Start > Programs > Rational > ClearCase > Type Explorer Metadata types Metadata kinds
Applying a Label 1 In the  Version Tree Browser , select the version you want to label, and then click  Tools > Apply Label 2 Select the desired label, and then click  Apply
Adding Attributes 1.  Click on  Custom  tab on the Properties sheet of the object to be annotated. 2 Click  Add Attribute  on the shortcut menu. 3 Enter the Attribute type and Value, and then click  OK 4 click  OK
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Attaching Hyperlinks
Integrating Parallel Development
Topics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Branching - review ,[object Object],[object Object],[object Object],[object Object]
Why Branch? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Types of Branches ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Creating Branch Instances ,[object Object],[object Object]
Multi-Level Auto-Branching Element * CHECKEDOUT Element * /main/r2_int/pat_r2/LATEST Element * /main/r2_int/LATEST –mkbranch pat_r2 Element * R1 –mkbranch r2_int Rule 1: Rule 2: Rule 3: Rule 4: /main 0 1 /main 1 0 /pat_r2 /r2_int 0 C 0 File before checkout File after checkout
Merging an Unreserved Checkout ,[object Object],[object Object]
Selective Merge ,[object Object],[object Object],[object Object]
Selective Merge - Example 3 2 1 0 R 1 0 /r2_int /main /r1_bugfix 4 R1 Other bug fixes not  relevant to /r2_int Bug fix to deliver to  /r2_int via selective merge Bug fixe not relevant  to /r2_int
Subtractive Merge ,[object Object],[object Object],[object Object]
Subtractive Merge - Example The multi-threaded algorithm  implemented in element  Versions 2 and 3 contains a fatal  Flaw. /main 3 2 1 0 4 R Initial Code Faulty code Back out only these  changes Cleartool merge –to hello.c  – delete –version ain2_intat_r2  ain2_intat_r2
Creating Reports ,[object Object],[object Object]
Cleartool sub commands ,[object Object],[object Object],[object Object],[object Object],[object Object]
Cleartool : Annotate ,[object Object],[object Object],[object Object]
Cleartool : describe ,[object Object],[object Object],[object Object],[object Object],[object Object]
Other commands ,[object Object],[object Object]
Any Queries ?
Thank You

Weitere ähnliche Inhalte

Was ist angesagt?

SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best PracticesMaidul Islam
 
UML for Aspect Oriented Design
UML for Aspect Oriented DesignUML for Aspect Oriented Design
UML for Aspect Oriented DesignEdison Lascano
 
Applitools - Visual AI
Applitools - Visual AIApplitools - Visual AI
Applitools - Visual AIApplitools
 
Chapter 22- Software Configuration Management.ppt
Chapter 22- Software Configuration Management.pptChapter 22- Software Configuration Management.ppt
Chapter 22- Software Configuration Management.pptTanzinAhammad
 
What is integration testing
What is integration testingWhat is integration testing
What is integration testingTestingXperts
 
Aspect oriented architecture
Aspect oriented architecture Aspect oriented architecture
Aspect oriented architecture tigneb
 
SEooC ISO 26262 | What is Safety Element Out of Context in Automotive Functio...
SEooC ISO 26262 | What is Safety Element Out of Context in Automotive Functio...SEooC ISO 26262 | What is Safety Element Out of Context in Automotive Functio...
SEooC ISO 26262 | What is Safety Element Out of Context in Automotive Functio...Embitel Technologies (I) PVT LTD
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automationEran Kinsbrunner
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentationBelatrix Software
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Processguest1f2740
 
IBM Jazz Agile Collaborative Lifecycle Management 6.0.x What's new
IBM Jazz Agile Collaborative Lifecycle Management 6.0.x What's newIBM Jazz Agile Collaborative Lifecycle Management 6.0.x What's new
IBM Jazz Agile Collaborative Lifecycle Management 6.0.x What's newSandra Sergi
 
Connecting mq&kafka
Connecting mq&kafkaConnecting mq&kafka
Connecting mq&kafkaMatt Leming
 
What is Integration Testing? | Edureka
What is Integration Testing? | EdurekaWhat is Integration Testing? | Edureka
What is Integration Testing? | EdurekaEdureka!
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software EngineeringPurvik Rana
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Er. Shiva K. Shrestha
 

Was ist angesagt? (20)

SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best Practices
 
UML for Aspect Oriented Design
UML for Aspect Oriented DesignUML for Aspect Oriented Design
UML for Aspect Oriented Design
 
Applitools - Visual AI
Applitools - Visual AIApplitools - Visual AI
Applitools - Visual AI
 
Chapter 22- Software Configuration Management.ppt
Chapter 22- Software Configuration Management.pptChapter 22- Software Configuration Management.ppt
Chapter 22- Software Configuration Management.ppt
 
What is integration testing
What is integration testingWhat is integration testing
What is integration testing
 
Introduction to gradle
Introduction to gradleIntroduction to gradle
Introduction to gradle
 
Software testing
Software testingSoftware testing
Software testing
 
Aspect oriented architecture
Aspect oriented architecture Aspect oriented architecture
Aspect oriented architecture
 
SEooC ISO 26262 | What is Safety Element Out of Context in Automotive Functio...
SEooC ISO 26262 | What is Safety Element Out of Context in Automotive Functio...SEooC ISO 26262 | What is Safety Element Out of Context in Automotive Functio...
SEooC ISO 26262 | What is Safety Element Out of Context in Automotive Functio...
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automation
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentation
 
SonarQube Presentation.pptx
SonarQube Presentation.pptxSonarQube Presentation.pptx
SonarQube Presentation.pptx
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Process
 
IBM Jazz Agile Collaborative Lifecycle Management 6.0.x What's new
IBM Jazz Agile Collaborative Lifecycle Management 6.0.x What's newIBM Jazz Agile Collaborative Lifecycle Management 6.0.x What's new
IBM Jazz Agile Collaborative Lifecycle Management 6.0.x What's new
 
Connecting mq&kafka
Connecting mq&kafkaConnecting mq&kafka
Connecting mq&kafka
 
What is Integration Testing? | Edureka
What is Integration Testing? | EdurekaWhat is Integration Testing? | Edureka
What is Integration Testing? | Edureka
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
ISO 26262: Automotive Functional Safety
ISO 26262: Automotive Functional SafetyISO 26262: Automotive Functional Safety
ISO 26262: Automotive Functional Safety
 

Ähnlich wie ClearCase Basics

Software Build processes and Git
Software Build processes and GitSoftware Build processes and Git
Software Build processes and GitAlec Clews
 
Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP DevelopersLorna Mitchell
 
Software Configuration Management And CVS
Software Configuration Management And CVSSoftware Configuration Management And CVS
Software Configuration Management And CVSRajesh Kumar
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best PracticesAshraf Fouad
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0Jasmine Conseil
 
Introduction to Version Control and Configuration Management
Introduction to Version Control and Configuration ManagementIntroduction to Version Control and Configuration Management
Introduction to Version Control and Configuration ManagementPhilip Johnson
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld PresentationDan Hinojosa
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Managementelliando dias
 
Part 4 - Managing your svn repository using jas forge
Part 4  - Managing your svn repository using jas forgePart 4  - Managing your svn repository using jas forge
Part 4 - Managing your svn repository using jas forgeJasmine Conseil
 
Frequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer ToolslFrequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer ToolslSharan S
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version ControlJeremy Coates
 
Intro To Version Control
Intro To Version ControlIntro To Version Control
Intro To Version Controlceardach
 
How to use CVS applied to SOLab
How to use CVS applied to SOLabHow to use CVS applied to SOLab
How to use CVS applied to SOLabPablo Arriazu
 
Version Control using Plastic (SCM) by Tonny
Version Control using Plastic (SCM) by TonnyVersion Control using Plastic (SCM) by Tonny
Version Control using Plastic (SCM) by TonnyAgate Studio
 
Totalsvn Usage And Administration By Gopi
Totalsvn Usage And Administration By GopiTotalsvn Usage And Administration By Gopi
Totalsvn Usage And Administration By Gopigopinathkarangula
 

Ähnlich wie ClearCase Basics (20)

Software Build processes and Git
Software Build processes and GitSoftware Build processes and Git
Software Build processes and Git
 
Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP Developers
 
Software Configuration Management And CVS
Software Configuration Management And CVSSoftware Configuration Management And CVS
Software Configuration Management And CVS
 
SVN Information
SVN Information  SVN Information
SVN Information
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
 
Subversion
SubversionSubversion
Subversion
 
Introduction to Version Control and Configuration Management
Introduction to Version Control and Configuration ManagementIntroduction to Version Control and Configuration Management
Introduction to Version Control and Configuration Management
 
Version control
Version controlVersion control
Version control
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld Presentation
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
Part 4 - Managing your svn repository using jas forge
Part 4  - Managing your svn repository using jas forgePart 4  - Managing your svn repository using jas forge
Part 4 - Managing your svn repository using jas forge
 
Frequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer ToolslFrequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer Toolsl
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version Control
 
10team
10team10team
10team
 
Intro To Version Control
Intro To Version ControlIntro To Version Control
Intro To Version Control
 
How to use CVS applied to SOLab
How to use CVS applied to SOLabHow to use CVS applied to SOLab
How to use CVS applied to SOLab
 
Version Control using Plastic (SCM) by Tonny
Version Control using Plastic (SCM) by TonnyVersion Control using Plastic (SCM) by Tonny
Version Control using Plastic (SCM) by Tonny
 
Version Control
Version ControlVersion Control
Version Control
 
Totalsvn Usage And Administration By Gopi
Totalsvn Usage And Administration By GopiTotalsvn Usage And Administration By Gopi
Totalsvn Usage And Administration By Gopi
 

Kürzlich hochgeladen

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Kürzlich hochgeladen (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

ClearCase Basics

  • 2.
  • 3.
  • 5. Software Configuration Management (SCM) SCM “ SCM is about managing change to software” Brian White , Software Configuration Management Strategies and Rational ClearCase (2000)
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Introduction to Rational ClearCase Family
  • 11.
  • 12. ClearCase family – At a glance
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 24.
  • 25.
  • 26.
  • 27. VOB
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35. Structure of a Dynamic View VOB 0 1 2 Hello.c Util.c hello.c Read/write util.c Read-only Virtual File System View Storage hello.c Check out Configuration Specification 0 1 2 3
  • 36. Structure of a Snapshot View VOB 0 1 2 hello.c util.c hello.c Read/write copy util.c Read-only copy Local File System Configuration Specification Check out 0 1 2 3
  • 37. Shortcut Pane Folder Pane Details Pane Information Pane Intro to ClearCase Explorer
  • 38. Creating a Dynamic View 1 Launch the View Creation Wizard Toolbox tab 2 Select Dynamic View
  • 39. Creating a Dynamic View (Cont.) 3 Choose a view name (or view-tag) 4 Select a drive letter to which you want to connect the new view, or you can select {none} and work directly on the MVFS(M:) drive 5 Click Advanced Options 6 Accept the default or specify the location of the view storage directory 7 Click on Finish
  • 40.
  • 41.
  • 42.
  • 43.
  • 44. View before and after Checking out VOB 0 1 2 Hello.c Util.c hello.c Read/write util.c Read-only View display View Storage hello.c Check out Configuration Specification VOB 0 1 2 Hello.c Util.c hello.c Read-only util.c Read-only Configuration Specification View display Before checking out After checking out 0 1 2 3 0 1 2 3
  • 45.
  • 46. Checking out a File: ClearCase Explorer
  • 47. Checking out a File: Windows Explorer
  • 48.
  • 49.
  • 50.
  • 51. Resolving Checkouts 3 R 3 R U Reserved Unreserved 1 Check out 3 4 2 Check in 1 Check out 2 Check out 3 4 3 Check in 5 U 4 Merge 5 Check in
  • 52. What is a Version Tree? A hierarchical representation of an element in which all versions are logically organized. VOB 0 1 2 3 hello.c /main Element Name Branches R1 Label 0 1 2 /r2_int Versions
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60. Version Tree with Updated Configspec Before checkout into view with the config spec using the auto mkbranch rule After checkout; notice that checkout created the rel1_bugfix branch
  • 61.
  • 62.
  • 63.
  • 64. How ClearCase Merges Files and Directories Before Merge After Merge Base Contributor From Contributor Target (to) Contributor Merge Result
  • 65.
  • 66. Merge Algebra A B C D E A (Deleted) C D R (Changed) X (Inserted) A B C Z (Changed) Q (Changed) A Deleted C Z (Changed) ? (Conflict) X (Inserted) Start Diff Merge Tool Base contributor version “ From” contributor version “ To” contributor version Merge Result
  • 67. Types of Merges Merge tool prompts you to choose between merge contributors There are conflicting changes among the contributors Manual Automatic merge There are changes, but no conflicting merge points Automatic Non-trivial Merge result contains changes from the “from” contributor Base and Target contributor contain the same data from the “from” contributor Trivial Result Changes Type of merge
  • 68.
  • 69. Merging using Version Tree Browser Scenario: For element new doc merge v2 on /main with v1 on rel1_bugfix 1 Select the “from” version and then click Tools > Merge to 2 When the cursor changes to resemble a target, click the “to” version
  • 70. Merging using Version Tree Browser (cont.) 3 Select Yes to perform the merge. 4 Click OK to confirm the merge
  • 71.
  • 72.
  • 73. Merging with the Merge Manager (cont.) 2 Select the view 3 Select the specific element you want to merge
  • 74. Merging with the Merge Manager (cont.) 4 Choose a method for selecting the version of each element to merge Merge from LATEST element on a selected branch Merge from element according to a specified label Use a ClearCase query language statement to select the “from” versions Merge elements selected by a particular view
  • 75. Merging with the Merge Manager (cont.) 5 Provide additional information needed for the merge, then click Finish 6 Confirm the merge criteria, then click Find
  • 76. Merging with the Merge Manager (cont.) 7 Click Yes to verify the merge elements 8 Click OK to start the merge
  • 77. Merging with the Merge Manager (cont.) Base Contributor: The original version Contributor1: The version that you are delivering FROM Contributor2: The version that you are delivering TO Merge results pane Navigation Buttons: Use to move between merge points Merge Buttons: Click to move changes from the first, second, or third contributor pane to the merge results pane.
  • 78.
  • 80.
  • 81.
  • 82.
  • 83. Adding Directories to Source Control Add directories to the source control the same way you add individual files When you add a directory to source control, files within the directory remain view-private
  • 84.
  • 85.
  • 86. Comparing Directory Versions The Compare tool enables you to view, side-by-side, the elements appearing in two versions of a directory. CLI Procedure for File Comparison and Directory Comparison
  • 87.
  • 88.
  • 89. Renaming an Element CLI Procedure To Remove Reference to an Element: >cleartool rmname hello.c To Rename an Element: >cleartool move hello.c hello1.c
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107. Viewing Metadata Types: Type Explorer Start > Programs > Rational > ClearCase > Type Explorer Metadata types Metadata kinds
  • 108. Applying a Label 1 In the Version Tree Browser , select the version you want to label, and then click Tools > Apply Label 2 Select the desired label, and then click Apply
  • 109. Adding Attributes 1. Click on Custom tab on the Properties sheet of the object to be annotated. 2 Click Add Attribute on the shortcut menu. 3 Enter the Attribute type and Value, and then click OK 4 click OK
  • 110.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117. Multi-Level Auto-Branching Element * CHECKEDOUT Element * /main/r2_int/pat_r2/LATEST Element * /main/r2_int/LATEST –mkbranch pat_r2 Element * R1 –mkbranch r2_int Rule 1: Rule 2: Rule 3: Rule 4: /main 0 1 /main 1 0 /pat_r2 /r2_int 0 C 0 File before checkout File after checkout
  • 118.
  • 119.
  • 120. Selective Merge - Example 3 2 1 0 R 1 0 /r2_int /main /r1_bugfix 4 R1 Other bug fixes not relevant to /r2_int Bug fix to deliver to /r2_int via selective merge Bug fixe not relevant to /r2_int
  • 121.
  • 122. Subtractive Merge - Example The multi-threaded algorithm implemented in element Versions 2 and 3 contains a fatal Flaw. /main 3 2 1 0 4 R Initial Code Faulty code Back out only these changes Cleartool merge –to hello.c – delete –version ain2_intat_r2 ain2_intat_r2
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.