Upload
beverley-small
View
220
Download
0
Tags:
Embed Size (px)
Citation preview
1 Copyright © 2014 Tata Consultancy Services Limited
Source Code Management using Rational Team Concert
IBM Rational, Alliance & Technology Unit
April 19, 2023
2
1. What is SCM?
2. Definitions related to RTC SCM
3. Working of SCM
4. Understanding SCM with Example
5. Multi Stream of SCM
Agenda
3
Pre-requisites
Basic knowledge of Rational Team Concert projects and work items
Installed and configured Jazz server and Eclipse based web client
One sample project created in RTC
4
What is SCM?
Process for managing Source Code
Tracks Revision
Version Comparison
Developers work with local repository
Final update in Central repository
5
Repository:•Secure Database
•Stores streams, workspaces etc.
Component: •Collection of related artifacts
•Files/folders that share common root
Repository Workspace: •Repository object that stores SCM items
•Has an owner
Local Workspace: •Directories in computer’s file system
Definitions related to RTC SCM
6
Stream:•Repository component that includes components
•Can be defined as team’s workspace
Change Sets: •Fundamental unit of change
•Collects related group of modifications
Check-In: •Putting changes made in local workspace to repository
Deliver: •Putting the changes of repository workspace to stream
Baseline:•Immutable copy of component
Snapshot:•Immutable copy of stream and repository
Definitions related to RTC SCM contd..
7
Working of SCM
Local workspace of User1
Local workspace of User2
User1 ‘Checks-In’ the change-sets made in Local workspace to Repository workspace.
User1 ‘Delivers’ the change-sets from Repository workspace to Stream.
User1 make the changes in Local Workspace and stores them in ‘Change-Sets’
Notification goes to User2 about the changes delivered to Stream.
User2 can accept the changes made by User1. This will add the changes to User2’s copy
8
Understanding SCM with Example
Scenario:•Users – User1 and Admin•Changes made by User1, accepted by Admin
Assumptions:•Connected RTC Project•A folder for SCM files.
Locating Streams:•Present under source control folder
9
Understanding SCM with Example
• Repository workspace present under My Repository Workspaces
• Components resides under Repository Workspace.
10
Understanding SCM with Example
Creating a new component•New -> Component
•Component’s visibility - Public
11
Adding files in component•Switch to Resource perspective•Create new project
•Add files in the project
Understanding SCM with Example
12
Understanding SCM with Example
First time check-in•Select Team -> Share Project…
•Select Jazz Source Control. Click Next and select the component.•The project will load in that component.
13
Understanding SCM with Example
• ‘Outgoing Changes’ are listed in the Pending Changes. Deliver the changes.
• Select ‘Deliver components addition/removals as well as outgoing change sets and baselines’
• The created component will reflect under Stream
14
Understanding SCM with Example
Create repository workspace for User1.•Select ‘Flow with the Stream’ and load Eclipse project.
•Edit files and save.
16
Understanding SCM with Example
• Switch to Admin’s Eclipse client.
• An incoming folder indicates changes in stream
• Accept the incoming changes.
• Changes can be verified by opening SCM1.txt
17
Understanding SCM with Example
Resolving conflicts•Orange double sided arrow indicate ‘potential conflict’
•Incoming changes needs to be accepted before delivering changes.•Following error comes if conflicts are present.
18
Understanding SCM with Example
•Accepting incoming changes (with conflicts) gives following options.
•Red arrow indicated Conflicts present.
19
Understanding SCM with Example
• Conflict editor opens the file in the below mode.
• If editor is not able to perform merge automatically then it gives the following error.
20
Understanding SCM with Example
• Manually merge the file as shown in the figure and click on ‘Resolve as merged’.
• The file will be merged and now the outgoing change-set can be delivered successfully.
22
Multi-Stream Development
• More than one streams
• Achieved using Flow Targets
• Allows to use parallel
development
• Minimizing the impact of
emergency releases on new
development efforts
Multi-Stream Merging
Sample Scenario
23
• Here two users are taken.Admin who is a developerUser1 who is a bug fixer
• Create two streams and load components into it as shown in the figure.
• In Development Stream, add flow target.
Multi-Stream Merging
24
• Deliver a change to Development Stream.• A new Incoming change-set is shown in the Bug-Fix Stream.
• It shows whatever we delivered in Development Stream is ‘flowing’ to Bug Fix Stream.
• Accept the changes.
Multi-Stream Merging contd..
25
• Changes will also flow from Bug Fix Stream to User1_workspace
• Right click and accept the changes.
Multi-Stream Merging contd..