1 / 21

Revision Control Systems

Revision Control Systems. Amin Tootoonchian Kian Mirjalali. Outline. Revision Control Systems Samples Subversion ClearCase. Revision Control Systems. An SCM activity Controlled and incremental changes Revision control/Version control/Source control

barth
Download Presentation

Revision Control Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Revision Control Systems Amin Tootoonchian Kian Mirjalali

  2. Outline • Revision Control Systems • Samples • Subversion • ClearCase 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 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 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) 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 Revision Control Systems

  7. Repository Working copy Check-out Commit Change Change List Update Merge/Integration Revision/Version Import Export Conflict Resolve Baseline Terms 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 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 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 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 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 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 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 Revision Control Systems

  15. ClearCase • Rational Software • Large and medium sized projects • Two types: • UCM • base ClearCase Revision Control Systems

  16. ClearCase – Views • Versioned Object Base (VOB) • Multi-version File System (MVFS) • Dynamic views • Snapshots • View-private files • Branch hierarchy 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 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 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 Revision Control Systems

  20. References • Wikipedia, the free encyclopedia • Version Control with Subversion - 1.2, O’Reilly Media • IBM Software – Rational ClearCase Documentation Revision Control Systems

  21. The END… Questions?Comments? Points of view? Revision Control Systems

More Related