revision control systems amin tootoonchian kian mirjalali
Post on 18-Dec-2015
224 views
TRANSCRIPT
Revision Control SystemsAmin Tootoonchian
Kian Mirjalali
August 5, 2006 Revision Control Systems 2
Outline Revision Control Systems Samples
Subversion ClearCase
August 5, 2006 Revision Control Systems 3
Revision Control Systems An SCM activity Controlled and incremental changes Revision control/Version control/Source control Management of multiple revisions of the same unit
of information Uses
Engineering Software development
August 5, 2006 Revision Control Systems 4
Storage Models Models
Centralized Shared server SVN, ClearCase, …
Distributed Changes shared between distributed repositories No network connection required TeamWare, GNU arch, …
Compression Delta compression differences are retained
August 5, 2006 Revision Control Systems 5
Concurrent access Locking and granting modification access to one
developer at a time Protection against difficult merge conflicts (in the case of
radical changes possibly) Release of lock!
Allow multiple editing at the same time Facilities to merge changes later Reserved edit
Optional operation to provide exclusive access (by locking)
August 5, 2006 Revision Control Systems 6
Integration Integration with software engineering process and
other tools Deeper integration with IDEs by using plugins to
provide easy access to revision control system Plugins for Eclipse, Visual Studio, Netbeans
e.g. subversion plugin for eclipse
August 5, 2006 Revision Control Systems 7
Terms Repository Working copy Check-out Commit Change Change List Update
Merge/Integration Revision/Version Import Export Conflict Resolve Baseline
August 5, 2006 Revision Control Systems 8
Subversion Open Source instance of a version control system
Abbreviated to svn in reference to the name of its CLI Modern replacement for CVS
Shares a number of the same key developers
August 5, 2006 Revision Control Systems 9
Subversion – Features Atomic commits Renamed/copied/moved/removed files retain full
revision history Versioned directories, renames, and file metadata
Entire directory trees can be moved around and/or copied very quickly, and retain full revision history
Versioning of symbol links Full MIME support
August 5, 2006 Revision Control Systems 10
Subversion – Features (cont’d) Native support for binary files
Space-efficient binary-diff storage Apache HTTP server as network server Costs proportional to change size, not the data size Parsable output, including XML log output Open Source licensed File locking for unmergeable file
Reserved checkouts
August 5, 2006 Revision Control Systems 11
Subversion – Repository access Local or network file system, accessed directly WebDAV/DeltaV (over http or https)
mod_dav_svn module for apache2 Custom svn protocol
Plaintext Over SSH
August 5, 2006 Revision Control Systems 12
Subversion – Layers Fs
Lowest level Versioned file system which stores the user data
Repos Repository built up around the file system Helper functions/handles various hooks
File system interface = Fs + Repos mod_dav_svn
August 5, 2006 Revision Control Systems 13
Subversion – Layers (cont’d) Ra
Handles repository access both local and remote Client, Wc
Highest level Abstracts repository access Provides common client tasks Wc library used by the client to mange the working copy
August 5, 2006 Revision Control Systems 14
Subversion – File System Three dimensional
Two dimension Tree structure
Third dimension Each revision has its own root
Files Links to the most recent changes made Compactness
Transactions used to keep changes atomic
August 5, 2006 Revision Control Systems 15
ClearCase Rational Software Large and medium sized projects Two types:
UCM base ClearCase
August 5, 2006 Revision Control Systems 16
ClearCase – Views Versioned Object Base (VOB) Multi-version File System (MVFS) Dynamic views Snapshots View-private files Branch hierarchy
August 5, 2006 Revision Control Systems 17
ClearCase – Configuration Specifications For each view Collection of rules:
Visible elements in a view Which versions of these elements
“include” statement
August 5, 2006 Revision Control Systems 18
ClearCase – Features Configuration Record
Read files during the build are recorded. Dependency information Use:
Making other views Applying labels
Build Avoidance Copying over derived objects If they have the same configuration record
August 5, 2006 Revision Control Systems 19
ClearCase – Features (cont’d) Unix/Windows interoperability
Windows clients access by views *nix clients access by snapshot views
Integration with other products Rational Software
ClearQuest, Rational Rose, …
Microsoft Visual Studio Eclipse IDE
August 5, 2006 Revision Control Systems 20
References Wikipedia, the free encyclopedia Version Control with Subversion - 1.2, O’Reilly
Media IBM Software – Rational ClearCase Documentation
August 5, 2006 Revision Control Systems 21
The END…
Questions?Comments?
Points of view?