subversion overview
TRANSCRIPT
Subversion
An Overview
© Polarion Software GmbH 2006 SVN Workshop 2
Subversion – Leading the SCM MarketAccording to Forrester Q2/2007
• June 2000 - Coding begins.
• August 2001 - Subversion becomes self-hosting.
• 2002 – 1st release
• 2004 – Feb. Release 1.0.0
• 2006 – Sept. Release 1.4.0
• Latest Release: 1.4.6
© Polarion Software GmbH 2006 SVN Workshop 3
What can Subversion Do For You
Backing up data
Documentation
Configuration
Management
Distributed
Development
CR 12
© Polarion Software GmbH 2006 SVN Workshop 4
Subversion – Architecture Overview
Berkley DB
FSFS
SubversionRepository
Client
Interface
Repository
Interface
GUI client apps
Commandline
client apps
ClientLibrary
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, LINUXWINDOWS
Offline Support
© Polarion Software GmbH 2006 SVN Workshop 5
Subversion – Easy Windows Integration
• Tortoise Smoothly integrated in windows explorer
© Polarion Software GmbH 2006 SVN Workshop 6
The Working Cycle
svn checkoutsvn update
get content
svn addsvn movesvn delete
Make changes
svn status -u
See what was changed in the repository in the meantime
svn update
Update your local copy
svn diffsvn resolved
Merge your changesResolve conflicts
svn commit
Submit your changes
10
5
10
0
10
6
Subversion
Repository
© Polarion Software GmbH 2006 SVN Workshop 7
Subversion – ArchitectureThe revision numbers
0 1 2 3
Each revision isa complete configuration
Not just file management but
management of changes
© Polarion Software GmbH 2006 SVN Workshop 8
Subversion - Concepts
• Atomic Commits 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
© Polarion Software GmbH 2006 SVN Workshop 9
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.
BRANCH 1
Extremely fastbranching and
Tagging
„before using Subversion we waited in some projects 15 min. until a branch was created.“
© Polarion Software GmbH 2006 SVN Workshop 10
branches
trunk
Calc
Root
Paint
my-calc branch
branches
trunk
Easy to Understand
Branching is Cheap
Can be deletedand reanimated
BranchesCreating Branches
© Polarion Software GmbH 2006 SVN Workshop 11
Subversion – Staging
• Staging can be managed via folder structures
tags
Project 1
Root
trunk
Dev
QA
Rel
Development stage
Releases for QA
Final Releases
© Polarion Software GmbH 2006 SVN Workshop 12
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.
© Polarion Software GmbH 2006 SVN Workshop 13
Subversion –Scalability
0
10
20
30
40
50
60
70
80
90
100
3.2
9.6 16
22.4
28.8
35.2
41.6 48
54.4
60.8
67.2
73.6 80
86.4
92.8
99.2
105.
611
211
8.4
124.
813
1.2
137.
614
415
0.4
156.
8
Repo Size (GB)
Tim
e (
s) Log (50 revs)
Checkout800MB
Checkout_rev1_800MB
© Polarion Software GmbH 2006 SVN Workshop 14
Subversion – Migration
• Migrations are possible from CVS Clear Case PVCS Visual Source Safe MKS StarTeam