ClearCase Overview © 2015 IBM Corporation Agenda • • • • • • • • ClearCase Deployment Styles Version Control Workspace Management Process Management Build Management Merge Management MultiSite CTE, CCRC, and Automatic Views 1 ClearCase Deployment Styles Click to add text © 2015 IBM Corporation IBM Rational ClearCase Version Control Workspace Management element Process Management Build Management Automation Enforcement Auditing Correctness Binary Sharing view DB VOB Labels V7.0.2, V8.0 Branches v7.0.2_bugfix Attributes Fixes = RATLC00101000 Hyperlinks Triggers Locks clearmake parallel distributed Ant clearaudit DB 3 3 Scalable LAN Deployment Client 2 Client 3 Client n Web Server Client 1 Web Server LAN MultiSite View Server Z NAS VOB Server A VOB Server B VOB Server C 4 Scalable WAN Deployment Remote Client 1 Remote Client 2 http(s) over WAN Web Server (CCRC WAN Server) Remote Client 3 Web Server (CCRC WAN Server) Optional proxy server LAN MultiSite NAS VOB Server A VOB Server B VOB Server C 5 Interesting MultiSite Deployment • Customer has non-classified “light” components with classified “dark” extensions • • Civilian and military versions of the hardware product Mobile replica, too! 6 Version Control © 2015 IBM Corporation ClearCase Version Tree main 0 1 Rel1 rel1_bugfix 0 2 rel2_int 3 0 1 4 1 3 Rel1.1 2 5 “/main/rel1_bugfix/2” 2 Rel2 6 dbUpdate 0 1 2 3 ClearCase Version Tree main 0 1 Rel1 rel1_bugfix 0 2 rel2_int 3 0 4 1 Rel1.1 2 5 Rel2 6 1 dbUpdate 2 0 3 1 2 3 ClearCase Version Tree main 0 1 Rel1 rel1_bugfix 0 2 rel2_int 3 0 4 1 Rel1.1 2 5 Rel2 6 1 dbUpdate 2 0 3 1 2 3 1 1 IBM Rational ClearCase – Version Control Release_1.1 DB Workspace Management © 2015 IBM Corporation Workspace Management / Dynamic View CCLC Full CC client Kernel file system Remote access to versions Massive workspaces Dynamic change tracking Build auditing Client processes (ClearCase tools, IDEs, shells, compilers, etc.) DB DB DB DB 13 13 Workspace Management / Snapshot View CCLC Client processes (ClearCase tools, IDEs, shells, compilers, etc.) Full CC client Local copies of versions DB DB DB DB 14 14 Workspace Management / Web View CCRC Client processes (ClearCase tools, IDEs, shells, compilers, etc.) http(s) Thin CC client Local copies of versions WAN-friendly protocol Web Server DB DB DB DB 15 15 Workspace Management / Automatic View CCRC Client processes (ClearCase tools, IDEs, shells, compilers, etc.) http(s) Thin CC client Kernel file system Shared copies of versions On-demand fetching Huge workspaces WAN-friendly protocol Web Server DB DB DB DB DB 16 16 Process Management © 2015 IBM Corporation UCM – Unified Change Management • “Out of the box” process • • Structured components Baselines of components • Composite baselines used to span multiple components • Activities / change sets • Activites may be associated with ClearQuest Activites or RTC Work Items • • Streams collect related activities Projects • Organize streams • Support isolated / private streams and feature streams – Require ‘deliver’ operation to share with others, ‘rebase’ to accept from others • Simple policy / process control 18 IBM Rational ClearCase – “Base ClearCase” Config Specs Ordered Version Selection Rules time 4-Jul-2013:8:00:00 element * CHECKEDOUT element * /main/LATEST main 0 1 Rel1 dbUpdate 2 rel2_int 3 0 0 rel1_bugfix 1 1 0 4 1 2 2 3 3 Rel1.1 2 5 Rel2 1 6 IBM Rational ClearCase – Config Specs Ordered Version Selection Rules element * CHECKEDOUT element /vobs/utils/… UtilsRel2.3 -nocheckout element * …/rel1_bugfix/LATEST element * Rel1 –mkbranch rel1_bugfix main 0 1 Rel1 dbUpdate 2 rel2_int 3 0 0 rel1_bugfix 1 1 0 4 1 2 2 3 3 Rel1.1 2 5 Rel2 2 6 IBM Rational ClearCase – Process Management • Branches • Organize parallel development • Manage variants • Labels • Baseline associated versions • Attributes • Name / Value pairs • Hyperlinks • Associate two objects Fixes = RATLC00101000 2 Design Rel1 Rel1 IBM Rational ClearCase – Process Management • Triggers • Execute arbitrary script(s) / program(s) before or after modifying any VOB object • Example: Require comment for each checkin If [ “$CLEARCASE_COMMENT” == “” ]; then echo “Must supply comment!” exit 1 # abort checkin attempt fi exit 0 # allow checkin to proceed • Locks • Prevent modification of object by all or subset of users • Mark an object as obsolete 2 Key Integrations • • • • • • • • • • • ClearQuest RTC (Rational Team Concert) Jira Eclipse RSx (Rational Software Architect family) RAD (Rational Application Developer for Websphere) Microsoft Visual Studio Microsoft Office Microsoft Source Code Control API (SCC) Sybase PowerBuilder Borland JBuilder • Cadence Design Framework II (DFII) for Virtuoso 23 Build Management © 2015 IBM Corporation Build Management • clearmake • • • • Fine-grained (per-target) authoritative auditing Build correctness Wink-in Parallel distributed builds • Ant auditing • Audit at task level • clearaudit • Coarse-grained authoritative auditing 25 Authoritative Audited Builds • Configuration Record Fragment Target cfs_parse.o built by hack.user Host "picloram" running SunOS 5.6 (sun4u) Reference Time 15-May-01.18:08:22, this audit started 15-May-01.18:08:23 View was picloram:/export/home/hack/views/hack_v5.0.bl1 Initial working directory was /vobs/atria/lib/cm/sun5 /vobs/atria/lib/cm/cfs.h@@/main/ucm_main/1 <15-May-00.16:46:18> /vobs/atria/lib/cm/sun5/cfs.ugh@@13-Oct-2000.200095 /vobs/sys/SOLARIS/sun5.5.1/usr/include/stdio.h@@/main/1 <02-May-96.23:18:04> /vobs/sys/SOLARIS/sun5.5.1/usr/ccs/bin/yacc@@/main/2 <31-Jan-00.16:35:26> . . . ---------------------------Variables and Options: ---------------------------SRC=.. YACC=/vobs/sys/SOLARIS/sun5.5.1/usr/ccs/bin/yacc ---------------------------Build Script: ---------------------------@echo making cfs_parse.o rm -f y.tab.c y.tab.h cfs_parse.c cfs_parse.h cfs_parse.o y.output cfs_parse.y.output /vobs/sys/SOLARIS/sun5.5.1/usr/ccs/bin/yacc -dvt ../cfs_parse.y Merge Management © 2015 IBM Corporation Graphical Access to Branches Directory Versioning • Directory elements, like file elements, have version trees Rational ClearCase Differencing R GREEN Insert BLUE Change RED Delete Directory Differencing Merge Algebra Common Contributor 1 Ancestor A A B C D Contributor 2 A A Deleted C Inserted Q Changed Deleted B Z X Merge Result R Changed Changed Z Changed X Inserted ? Conflict Merge Conflicts MultiSite © 2015 IBM Corporation MultiSite: Distributed Development main 0 1 Rel1 rel1_bugfix 2 rel2_integration 3 0 1 0 4 1 2 3 Rel1.1 2 5 Rel2 6 db_update 0 1 2 3 win98_port 0 1 2 3 Rational ClearCase MultiSite Customers • HP • • • Fidelity Investments • • • Over 1200 licenses, 10 sites, 4 continents “The sun never sets on Oracle development” Texas Instruments • • • 25 repositories distributed across 3 sites Synchronized every 5 minutes Oracle • • • Over 1600 licenses, 14 sites “With MultiSite, code sharing is routine” 5,000 VOB families, 20,000 replicas VOB size: 100TB, Replication traffic: 5.4TB / month Cisco • • • 9000+ users, 80,000 views 1707 VOB families, 5525 replicas Users / Admin: 713:1 MultiSite Distributed Development • Each site has a copy of the same repository US Site Europe Site site "USA” site "USA” usa_branch usa_branch 0 ... 10 11 0 replicate ... ... 10 11 18 18 19 19 ... MultiSite Distributed Development US Site Europe Site usa_branch usa_branch ... ... 10 0 11 10 0 ... replicate 18 19 Each site works on its own branch Replicas are synchronized periodically 11 18 19 ... MultiSite Distributed Development US Site usa_branch ... 0 10 11 usa_branch ... europe_branch 0 ... 18 19 20 V2.0 Europe Site 21 Each site works on its own branch Replicas are synchronized periodically 10 11 18 19 ... 0 ... 4 5 MultiSite Distributed Development US Site Europe Site usa_branch usa_branch ... europe_branch 0 10 11 18 ... ... 0 ... 4 10 replicate 11 5 18 19 19 20 V2.0 21 europe_branch 0 20 replicate Each site works on its own branch Replicas are synchronized periodically V2.0 21 ... 0 ... 4 5 Automatic Views Architecture 41 What is CCRC? 42 ClearTeam Explorer • Increased Developer productivity with: • • • • • • Support for all four view types Preferences and Workspace Filters One click Deliver and Rebase Recursive Check in MultiSite Support Project Lead Support for base and UCM • Increased Team productivity with: • • • • Integrated CQ Forms & Queries Pending changes view Eclipse shell-share support Integrated Jazz based Collaborative Development Support A Unified Desktop Client User Interface 43 What is CCRC? CCRC CCLC rcleartool CTE rclearmake MVFS rabe abe abe rview_agent CCRC WAN Server cleartool Native GUIs clearmake CC BE CC BE CC BE abe abe abe MVFS View Server ALBD Server Registry Server Warning: Intentionally Incomplete! DB Server DB Server DB Server VOB Server Promote Server VOBRPC Server VOBRPC Server VOBRPC Server 44 Automatic Views – high level architecture Non-CC apps cat, ls, compile rcleartool CTE Web view Standard Filesystem MVFS Proxy Cleartext Cache rview agent (A) CCRC WAN Server rview agent (B) View private View private DB Shared cleartext cache DB CCRC 46 Automatic View Features 47 View / VOB tags in Automatic Views • Automatic views default viewroot directory: • Windows: R:\ • Unix: /rview • Only views owned by user are visible in viewroot directory • Per-view VOB mounts • VOB mounts part of view configuration 48 Creating an Automatic View from CTE 49 Mounting VOBs in an Automatic View 50 Automatic Views in CTE 51 Developer Workflow Productivity / Targeted Performance Improvements Create view Explore / read files Checkout files Checkin files Update view Debug Edit Build 52 What’s NOT in Automatic Views? • View access from multiple machines • View access from multiple users • Shareable D.O.s • Direct access to VOB storage pools 54 Thank You