Subversion Overview

polarion 6,032 views 14 slides Jul 30, 2008
Slide 1
Slide 1 of 14
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14

About This Presentation

No description available for this slideshow.


Slide Content

Subversion
An Overview

© Polarion Software GmbH 2006 SVN Workshop 2
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

© 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
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

© 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 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

© Polarion Software GmbH 2006 SVN Workshop 7
Subversion – Architecture
The revision numbers
0 1 2 3
Each revision is
a 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 fast
branching 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 deleted
and reanimated
Branches
Creating 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
2
8.
8
35
. 2
4
1.
6
4
8
5
4.
4
60
. 8
67.
2
73
. 6
80
86.
4
92.
8
99.
2
1
05.
6
112
1
18.
4
124.
8
1
31.
2
13
7.
6
144
150
. 4
156.
8
Repo Size (GB)
Ti
m
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