Essentials Of Rational Clearcase Module 2: Working With Files Under Source Control

  • Uploaded by: mnreddy
  • 0
  • 0
  • July 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Essentials Of Rational Clearcase Module 2: Working With Files Under Source Control as PDF for free.

More details

  • Words: 1,076
  • Pages: 26
®

IBM Software Group

Essentials of Rational ClearCase Module 2: Working with Files Under Source Control

1

Objectives Upon completing this module, you should be able to:  Explain the checkout/checkin model  Explain the difference between a reserved and unreserved checkout  Check out/check in files and directories  Define version trees and branches and explain how branches enable parallel development  Edit a view config spec to automatically create a branch

2

Typical Workflow: Work on Files

3

Checkout/Checkin Model  When a file is under source control, you check it out to work on it  A file is checked out to a view and a modifiable copy is available to work on  A placeholder is created in the version tree as the potential successor version  When you check in the file, a new version is added to the element version tree 4

View Before and After Checking out hello.c

5

Types of Checkout  Reserved checkout:  Default checkout  Has exclusive rights to next place on version tree  No checkins can be made on the same branch until the checkout is resolved  Only allowed if no other reserved checkouts exist for the branch

 Unreserved checkout:  Allowed regardless of the status of other checkouts of the version  Before check in, must be merged or discarded if any checkin has taken place 6

Checking Out a File: ClearCase Explorer

7

Checking Out a File: Windows Explorer

8

Checking Out a File: Command Line Interface Usage: checkout | co [-reserved] [-unreserved pname] [-ptime] [-branch branch-pname | -version] [-c comment | -cfile pname | -cq | -cqe | -nc] pname ...

Example: X:\Hardware\src>cleartool checkout hello.c Checkout comments for “hello.c": Bug fixing . Checked out “hello.c" from version "\main\r2_int\alex_r2\2".

9

You MUST end the comment by typing “.” and Enter

Versioning Directories  To change the directory namespace you must create a new directory version  The ClearCase GUI automatically checks out a directory and creates a new version if a change occurs to the directory namespace (some operations will prompt you to check out the directory)  Using the CLI, you must check out/check in a directory to create a new version  To change only file contents but not the directory namespace, you do not need to check out the directory 10

Checking in a New Version  Adds a new version to the version tree  Removes the read/write copy of the file from the view storage area  The checked in version becomes available to users using dynamic views and to snapshot view users upon the next update  Use ClearCase Explorer, Version Tree Browser, Windows Explorer, ClearCase supported IDEs, or the CLI

11

Resolving Checkouts

12

What Is a Version Tree? A hierarchical representation of an element in which all versions are logically organized.

13

Version-extended Names  Each version of an element has a unique identifier  The extended naming symbol denotes a path into the version tree of an element  @@ is the default extended naming symbol

14

Viewing Versions of an Element Graphically  ClearCase graphically depicts an element version tree in the Version Tree Browser

Version selected by your view

15

What Are View-private Files?  Files that are not under ClearCase source control  Files that reside in the view; other users in other views do not see them  Examples:  Temporary files created during development or testing  Files not yet added to source control  Read/write copies of files checked out of source control

16

Branching Enables Parallel Development  Allows different projects to use the same source at the same time  Controls public/private work  Isolates changes  Temporary, such as new features that have not yet been tested  Permanent, such as fixing a bug in a retired release

 Prevents roadblocks — development can proceed during an integration period 17

What Is a Branch Type?  A user-defined name that forms a unique pathname in the version tree  Allows changes across multiple elements to be logically grouped together  Centralizes administrative control of branch names

18

Working on Branches  When working on a project team, you will most likely work on element branches other than /main  A view config spec specifies which versions of the element appear in the view  Edit your view config spec to select the correct branches and the correct versions

19

The Default View Config Spec  A default config spec is automatically set whenever you create a new view Rule 1 Rule 2

 Rule 1: Select version of element checked out to THIS view  Rule 2: If no version is checked out, select the latest version on /main 20

Editing a View Config Spec  You can edit the config spec to select versions on a branch other than /main Rule 1 Rule 2

 Rule 1: Select version of element checked out to THIS view  Rule 2: If no version is checked out, select the latest version on the r2_int branch 21

Editing a Config Spec to Create Branches  A view config spec can use the –mkbranch clause to create branches automatically upon checkout:

 Rule 3 is interpreted as:  Select the version of the element with the R1 label  During checkout , automatically create the r2_int branch from the version labeled R1  Check out the 0 (zero) version on the r2_int branch 22

Creating a New Branch Automatically Change your config spec to create a branch when you check out elements that have an R1 label.

23

Creating a New Branch Automatically (cont.)

Before checkout into view with the config spec using the auto mkbranch rule

After checkout; notice that checkout created the r2_int branch

24

Module Review  How does ClearCase protect files from being modified inadvertently?  What happens when you check out a file?  What is the difference between a reserved and an unreserved checkout?  When do you need to create a new version of a directory?  What happens when you check in a file?  What is a version tree?  What is a view default config spec? 25

Module Lab  In this lab, you perform the following tasks:  Edit a config spec to automatically create branches  View an element version tree  Check out/check in files  Create a view-private file

26

Related Documents


More Documents from ""