5. List of existing Source Version
Control Software
* There are a lot of them !*
http://www.iac.honeywell.com/Pub/Tech/CM/CMTools.html#CMWWWsites
ClearCase - Windows and UNIX
Visual SourceSafe - Windows
CVS - UNIX
CMVision - Unix and Windows
Control CS - Unix and Windows
the list goes on …
6. What is ClearCase?
ClearCase is a comprehensive
software version control and
configuration management system,
designed for development teams
working in a local network.
7. ClearCase Overview
Provides versioning of all types of
files & directories
Records and reports history
Guarantees accurate reproduction
of every release
Provides traceability &
reproducibility
Provides powerful branch-and-
merge tools
Assures integrity of all software
elements
9. 1
Version Control
with ClearCase
main
2
3
0
VERSIONS
- Versions all file types
- Versions directories
- Files are read-only
until checked out
- Unlimited branching
and merging
14
2
0
5
BRANCH
LABELS
Beta_01
Rls1.0
Rls2.0
Rls2_bugfix
Rls3.0
10. ClearCase Version
Control Features
Easy checkout-edit-checkin model
Intelligent merge utility automatically merges non-
conflicting changes
Graphical compare and merge tools
Two modes of work with Dynamic and Snapshot
Views
11. Workspace Management
- Views
WHAT IS A VIEW?
Workspace for an individual developer or closely
coordinated group
Selects versions of Versioned Object Base (VOB)
directories and files
Allows developers to work without interfering with
others
12. What is a VOB?
Versioned Object Base
A read-only repository of ClearCase elements
A network-wide, file system resource which
stores version-controlled data
A user accesible repository that resides:
on a Windows NT system, or
on a UNIX system
13. Version Selection by
ViewsA view selects versions of elements
What is seen is the result of an ordered
set of rules called a configuration specification
(config spec).
Selected versions appear in a standard
directory tree with recognizable file names.
load appletsrc
element * CHECKEDOUT
element * mainLATEST
VOB
src
foo.c bar.c
foo.c src bar.c
V
I
E
W
config spec
14. What is a Configuration
Specification?
Each view has a config spec that defines a set of
rules for selecting versions of file and directory
elements
A default config spec is automatically set
whenever you create a new view
15. The default config spec selects files or directories
that are:
checked out, or
the latest version on the main branch of the version
tree
The Default Config Spec:
element * CHECKEDOUT
element * mainLATEST
17. Snapshot Views
Downloads files based on Rules
Allows work while disconnected
from the net
Optimal build performance
for prototype or test builds
load appletsrc
element * CHECKEDOUT
element *
Snapshot View
VOB
CLIENT
src
foo.c bar.c
foo.c src bar.c
18. When To Use Snapshot
Views
You want to work with source files that are
under ClearCase control while disconnected
from network
You prefer to use a view that is updated only at
your request
You want to access a view from a machine that
is not a ClearCase host
20. Snapshot View vs. Dynamic View
Similar
use config specs rules to select element versions
follow the checkout, edit, checkin paradigm
allow reserved or unreserved checkouts
21. Differ
as development progress, a snapshot view
becomes out of date and must be explicitly
updated
a checkout of an element may use the version
loaded into the view, not necessarily the latest
version in the VOB
to check in such an element, you may have to
perform a merge
if the element version is not the latest version, you
are asked to confirm which version to checkout
Snapshot View vs. Dynamic View
22. 20 minutes is NOT enough to
cover everything. If you are
interested in learning more about
ClearCase, here is the web site:
http://www.rational.com/index.jtmpl
23. If asked what the talk
was about, these are the
things you must
remember, :)
WE DISCUSSED:
checkout-edit-checkin model
Labeling
Branching
Merging
Views
Config Spec
WE HAD A LOT OF FUN!!!