Subversion Overview


Published on

Published in: Business, Technology

Subversion Overview

  1. 1. Subversion An Overview
  2. 2. Subversion – Leading the SCM Market According to Forrester Q2/2007 <ul><li>June 2000 - Coding begins. </li></ul><ul><li>August 2001 - Subversion becomes self-hosting. </li></ul><ul><li>2002 – 1 st release </li></ul><ul><li>2004 – Feb. Release 1.0.0 </li></ul><ul><li>2006 – Sept. Release 1.4.0 </li></ul><ul><li>Latest Release: 1.4.6 </li></ul>SVN Workshop
  3. 3. What can Subversion Do For You <ul><li>Backing up data </li></ul>SVN Workshop Documentation Configuration Management Distributed Development CR 12
  4. 4. Subversion – Architecture Overview SVN Workshop Berkley DB FSFS Subversion Repository Client Interface Repository Interface GUI client apps Commandline client apps Client Library Working Copy Management Library Repository access DAV SVN Local Apache mod _ dav mod_dav_svn svnserve Internet (Any TCP/IP Network) Single Sign On LDAP High Secure SSL Office Integration WebDAV UNIX, LINUX WINDOWS Offline Support
  5. 5. Subversion – Easy Windows Integration <ul><li>Tortoise </li></ul><ul><ul><li>Smoothly integrated in windows explorer </li></ul></ul>SVN Workshop
  6. 6. The Working Cycle SVN Workshop svn checkout svn update get content svn add svn move svn delete Make changes svn status -u See what was changed in the repository in the meantime svn update Update your local copy svn diff svn resolved Merge your changes Resolve conflicts svn commit Submit your changes 105 100 106 Subversion Repository
  7. 7. Subversion – Architecture The revision numbers SVN Workshop 0 1 2 3 Each revision is a complete configuration Not just file management but management of changes
  8. 8. Subversion - Concepts <ul><li>Atomic Commits </li></ul><ul><ul><li>No part of a commit takes effect until the entire commit has succeeded. </li></ul></ul><ul><ul><li>Revision numbers are per-commit, not per-file; log messages are attached to the revision, not stored redundantly as in CVS. </li></ul></ul><ul><ul><li>No inconsistence in repository because large commits happened at the same time </li></ul></ul><ul><ul><li>Files within a commit are grouped automatically so it is effident what files have been part of a change set without extra labels </li></ul></ul>SVN Workshop
  9. 9. Subversion – Branches, Tags <ul><li>Branching and tagging are cheap (constant time) operations </li></ul><ul><ul><li>Branches and tags are both implemented in terms of an underlying &quot;copy&quot; operation. A copy takes up a small, constant amount of space. </li></ul></ul>SVN Workshop BRANCH 1 Extremely fast branching and Tagging „ before using Subversion we waited in some projects 15 min. until a branch was created.“
  10. 10. Branches Creating Branches SVN Workshop branches trunk Calc Root Paint my-calc branch branches trunk Easy to Understand Branching is Cheap Can be deleted and reanimated
  11. 11. Subversion – Staging <ul><li>Staging can be managed via folder structures </li></ul>SVN Workshop tags Project 1 Root trunk Development stage Releases for QA Final Releases Dev QA Rel
  12. 12. Suberversion – Binary Files <ul><li>Efficient handling of binary files </li></ul><ul><ul><li>Subversion is equally efficient on binary as on text files, because it uses a binary diffing algorithm to transmit and store successive revisions. </li></ul></ul><ul><ul><li>After Migration to Subversion a repository is usually between 30% smaller </li></ul></ul><ul><ul><li>Update and commit operations on binaries are much faster with subversion. </li></ul></ul>SVN Workshop
  13. 13. Subversion –Scalability SVN Workshop
  14. 14. Subversion – Migration <ul><li>Migrations are possible from </li></ul><ul><ul><li>CVS </li></ul></ul><ul><ul><li>Clear Case </li></ul></ul><ul><ul><li>PVCS </li></ul></ul><ul><ul><li>Visual Source Safe </li></ul></ul><ul><ul><li>MKS </li></ul></ul><ul><ul><li>StarTeam </li></ul></ul>SVN Workshop