SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins PipelinesSteffen Gebert
 
Automate Building your VM Templates with Packer - CPAVMUG 2021-12-02
Automate Building your VM Templates with Packer - CPAVMUG 2021-12-02Automate Building your VM Templates with Packer - CPAVMUG 2021-12-02
Automate Building your VM Templates with Packer - CPAVMUG 2021-12-02Dan Barr
 
Jenkins for java world
Jenkins for java worldJenkins for java world
Jenkins for java worldAshok Kumar
 
Version Control System - Git
Version Control System - GitVersion Control System - Git
Version Control System - GitCarlo Bernaschina
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git TutorialSage Sharp
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching modelPavlo Hodysh
 
Bitbucket pipelines
Bitbucket pipelinesBitbucket pipelines
Bitbucket pipelinesHoffman Lab
 
A proven path for migrating from clearcase to git and or subversion
A proven path for migrating from clearcase to git and or subversionA proven path for migrating from clearcase to git and or subversion
A proven path for migrating from clearcase to git and or subversionCollabNet
 
A brief introduction to version control systems
A brief introduction to version control systemsA brief introduction to version control systems
A brief introduction to version control systemsTim Staley
 

Mais procurados (20)

Jenkins presentation
Jenkins presentationJenkins presentation
Jenkins presentation
 
Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines
 
Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
Automate Building your VM Templates with Packer - CPAVMUG 2021-12-02
Automate Building your VM Templates with Packer - CPAVMUG 2021-12-02Automate Building your VM Templates with Packer - CPAVMUG 2021-12-02
Automate Building your VM Templates with Packer - CPAVMUG 2021-12-02
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Subversion
SubversionSubversion
Subversion
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Jenkins for java world
Jenkins for java worldJenkins for java world
Jenkins for java world
 
Git
GitGit
Git
 
Version Control System - Git
Version Control System - GitVersion Control System - Git
Version Control System - Git
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git Tutorial
 
BitBucket presentation
BitBucket presentationBitBucket presentation
BitBucket presentation
 
Git
GitGit
Git
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching model
 
Bitbucket pipelines
Bitbucket pipelinesBitbucket pipelines
Bitbucket pipelines
 
A proven path for migrating from clearcase to git and or subversion
A proven path for migrating from clearcase to git and or subversionA proven path for migrating from clearcase to git and or subversion
A proven path for migrating from clearcase to git and or subversion
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
 
cmake.pdf
cmake.pdfcmake.pdf
cmake.pdf
 
A brief introduction to version control systems
A brief introduction to version control systemsA brief introduction to version control systems
A brief introduction to version control systems
 

Semelhante a ClearCase Basics

Software Build processes and Git
Software Build processes and GitSoftware Build processes and Git
Software Build processes and GitAlec Clews
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best PracticesMaidul Islam
 
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
 
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
 

Semelhante a ClearCase Basics (20)

Software Build processes and Git
Software Build processes and GitSoftware Build processes and Git
Software Build processes and Git
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best Practices
 
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
 
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
 

Último

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

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.