Subversion – Leading the SCM Market According to Forrester Q2/2007
June 2000 - Coding begins.
August 2001 - Subversion becomes self-hosting.
2002 – 1 st release
2004 – Feb. Release 1.0.0
2006 – Sept. Release 1.4.0
Latest Release: 1.4.6
What can Subversion Do For You
Backing up data
SVN Workshop Documentation Configuration Management Distributed Development CR 12
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
Subversion – Easy Windows Integration
Smoothly integrated in windows explorer
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
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
Subversion - Concepts
No part of a commit takes effect until the entire commit has succeeded.
Revision numbers are per-commit, not per-file; log messages are attached to the revision, not stored redundantly as in CVS.
No inconsistence in repository because large commits happened at the same time
Files within a commit are grouped automatically so it is effident what files have been part of a change set without extra labels
Subversion – Branches, Tags
Branching and tagging are cheap (constant time) operations
Branches and tags are both implemented in terms of an underlying "copy" operation. A copy takes up a small, constant amount of space.
SVN Workshop BRANCH 1 Extremely fast branching and Tagging „ before using Subversion we waited in some projects 15 min. until a branch was created.“
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
Subversion – Staging
Staging can be managed via folder structures
SVN Workshop tags Project 1 Root trunk Development stage Releases for QA Final Releases Dev QA Rel
Suberversion – Binary Files
Efficient handling of binary files
Subversion is equally efficient on binary as on text files, because it uses a binary diffing algorithm to transmit and store successive revisions.
After Migration to Subversion a repository is usually between 30% smaller
Update and commit operations on binaries are much faster with subversion.