SlideShare a Scribd company logo
Subversion in a  Distributed World
About Me Lorna Mitchell
PHP Developer/Trainer/Consultant at Ibuildings
Host of Dutch PHP Conference 2010
Active with PHPWomen.org
Organiser at PHPNW
Personal blog:  http://lornajane.net
Twitter: @lornajane
Source Control Keeping-place for code
Centralised or distributed
Project archive
Collaboration tool
Integration point for development
for business processes
One True Way
 
The Products
Subversion (svn) Creator CollabNet URL Maintainer Apache Users PHP Sourceforge FreeBSD Apache Software Foundation License Apache/BSD style Documentation Excellent, more mature Red Bean Book
Subversion: The Roapmap Taken from: http://lwn.net/Articles/381794/ Subversion exists to be universally recognized and adopted as an open-source, centralized version control system characterized by its reliability as a safe haven for valuable data; the simplicity of its model and usage; and its ability to support the needs of a wide variety of users and projects, from individuals to large-scale enterprise operations.
Git Creator Linus Torvalds URL Maintainer Junio Hamano Users Linux kernel Ruby on Rails CakePHP Debian GNOME License GPL Documentation "terse", a lot of documentation for an unfamiliar system
Bazaar (bzr) Creator Martin Pool URL Maintainer Canonical Users Ubuntu MySQL Inkscape Squid License GPL Documentation Excellent! Aimed at beginners, UI designed to be intuitive
Mercurial (hg) Creator Matt Mackall URL Maintainer Matt Mackall Users Mozilla OpenOffice.org SymbianOS NetBeans License GPL Documentation Good, online book and command line help
Features Atomic commits
File renames
Symbolic links
Pre/Post event hooks
Merge tracking
Tags
EOL conversions
Protocols Everything supports SSH and HTTP(S)
Distributed systems support email
Bazaar supports FTP
Git supports rsync
Centralised vs Distributed Source Control
Centralised Source Control
Centralised Source Control Traditional model
Subversion uses this
Other products can do it
Distributed Source Control
Distributed Source Control
Distributed Source Control Git, Bazaar and Mercurial are distributed
Many repositories
Move changes between any or all of these
Revisions vs Changes From a Joel Spolsky post: With distributed version control, the distributed part is actually not the most interesting part.  The interesting part is that these systems think in terms of changes, not in terms of versions
Repo Structure: SVN Top level projects
Branches, tags and trunk
Can check out and commit at subdirectory level
Repo Structure: DVCS Separate repository per project
Can only check out the whole thing
Controlled at the top level
Can safely copy directories :)
Referring to Revisions svn:  whole repo increments with every change
git:  generates a SHA1, a 40 character hexadecimal string
bzr:  uses per branch incrementing revision numbers
hg:  sequential revision number AND unique changeset ID in a SHA1
Git Hashing Every commit has an identifying hash
Hash is of commit and includes information about parent
Any change in any version is seen later, because parental hashes change

More Related Content

PDF
Using Subversion and Git Together
PDF
SVN 2 Git
PDF
Introduction to Git and GitHub
PDF
Subversion to Git Migration
PPTX
Webinar : SVN to GIT Migration
PDF
Subversion to Git Migration
PPTX
Advanced Git Presentation By Swawibe
PDF
Git 101 tutorial presentation
Using Subversion and Git Together
SVN 2 Git
Introduction to Git and GitHub
Subversion to Git Migration
Webinar : SVN to GIT Migration
Subversion to Git Migration
Advanced Git Presentation By Swawibe
Git 101 tutorial presentation

What's hot (20)

PPTX
Git vs svn
PDF
Training: Day Two - Eclipse, Git, Maven
PPTX
Git walkthrough
PDF
Git vs. Mercurial
PPTX
Introduction to Git and Github
PPTX
Version controll.pptx
PDF
Git advanced
PPTX
Git presentation to some coworkers some time ago
PDF
Cloud-Native CI/CD on Kubernetes with Tekton Pipelines
PPTX
Source control management
PPTX
Git theory
PDF
Collaborative development with Git | Workshop
PDF
Version control and GIT Primer
ODP
containerD
PDF
SFO15-110: Toolchain Collaboration
PDF
The (mutable) config management showdown
PDF
Deploying WSO2 Middleware on Kubernetes
PDF
Kubernetes - A Comprehensive Overview
PDF
Ruby microservices with Docker - Sergii Koba
PDF
Git in Eclipse
Git vs svn
Training: Day Two - Eclipse, Git, Maven
Git walkthrough
Git vs. Mercurial
Introduction to Git and Github
Version controll.pptx
Git advanced
Git presentation to some coworkers some time ago
Cloud-Native CI/CD on Kubernetes with Tekton Pipelines
Source control management
Git theory
Collaborative development with Git | Workshop
Version control and GIT Primer
containerD
SFO15-110: Toolchain Collaboration
The (mutable) config management showdown
Deploying WSO2 Middleware on Kubernetes
Kubernetes - A Comprehensive Overview
Ruby microservices with Docker - Sergii Koba
Git in Eclipse
Ad

Similar to Subversion in a distributed world (20)

PDF
The Source Control Landscape
PDF
Understanding Distributed Source Control
PDF
Introduction to Bazaar
KEY
Version Control Lassosoft 2009 Lasso Developers Conference
PPT
Introduction to Git for developers
PPT
Introduction to git
PPT
SVN Usage & Best Practices
ODP
Resources For Floss Projects
PDF
Version Control with SVN
PDF
Distributed Version Control (DVCS) With Mercurial
ODP
Subversionn Introduction at SuperMondays 2009-09-01
ODP
Practical SVN for PHP Developers
PDF
Digital Fabrication Studio 0.3 Information
PDF
Getting Started with (Distributed) Version Control
PDF
Versioning for Developers
PDF
Git presentation
PDF
Git vs Subversion: ¿Cuando elegir uno u otro?
PPTX
[Mas 500] Software Development Strategies
PDF
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
ODP
An introduction to SVN
The Source Control Landscape
Understanding Distributed Source Control
Introduction to Bazaar
Version Control Lassosoft 2009 Lasso Developers Conference
Introduction to Git for developers
Introduction to git
SVN Usage & Best Practices
Resources For Floss Projects
Version Control with SVN
Distributed Version Control (DVCS) With Mercurial
Subversionn Introduction at SuperMondays 2009-09-01
Practical SVN for PHP Developers
Digital Fabrication Studio 0.3 Information
Getting Started with (Distributed) Version Control
Versioning for Developers
Git presentation
Git vs Subversion: ¿Cuando elegir uno u otro?
[Mas 500] Software Development Strategies
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
An introduction to SVN
Ad

More from Lorna Mitchell (20)

PDF
OAuth: Trust Issues
PDF
Web Services PHP Tutorial
PDF
Best Practice in API Design
PDF
Git, GitHub and Open Source
PDF
Business 101 for Developers: Time and Money
ODP
Things I wish web graduates knew
PDF
Teach a Man To Fish (phpconpl edition)
PDF
Web services tutorial
ODP
Join In With Joind.In
PDF
Tool Up Your LAMP Stack
PDF
Going Freelance
PDF
Best Practice in Web Service Design
PDF
Coaching Development Teams: Teach A Man To Fish
PDF
Zend Certification Preparation Tutorial
PDF
Implementing OAuth with PHP
PDF
Web Services Tutorial
PDF
Object Oriented Programming in PHP
PDF
Example Presentation
PDF
Could You Telecommute?
PDF
Design Patterns
OAuth: Trust Issues
Web Services PHP Tutorial
Best Practice in API Design
Git, GitHub and Open Source
Business 101 for Developers: Time and Money
Things I wish web graduates knew
Teach a Man To Fish (phpconpl edition)
Web services tutorial
Join In With Joind.In
Tool Up Your LAMP Stack
Going Freelance
Best Practice in Web Service Design
Coaching Development Teams: Teach A Man To Fish
Zend Certification Preparation Tutorial
Implementing OAuth with PHP
Web Services Tutorial
Object Oriented Programming in PHP
Example Presentation
Could You Telecommute?
Design Patterns

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
KodekX | Application Modernization Development
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Encapsulation theory and applications.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Electronic commerce courselecture one. Pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
NewMind AI Weekly Chronicles - August'25 Week I
Reach Out and Touch Someone: Haptics and Empathic Computing
KodekX | Application Modernization Development
Mobile App Security Testing_ A Comprehensive Guide.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Big Data Technologies - Introduction.pptx
Encapsulation_ Review paper, used for researhc scholars
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Unlocking AI with Model Context Protocol (MCP)
Encapsulation theory and applications.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Electronic commerce courselecture one. Pdf
cuic standard and advanced reporting.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Diabetes mellitus diagnosis method based random forest with bat algorithm
Programs and apps: productivity, graphics, security and other tools
NewMind AI Weekly Chronicles - August'25 Week I

Subversion in a distributed world

Editor's Notes

  • #3: Ibuildings is recruiting!
  • #6: its about what works for you: your process your team your environment
  • #8: subversion has been around longer, since 2000 the red bean book is free in digital format, or you can buy an actual book "Apache Subversion" as of February 2010
  • #10: http://versioncontrolblog.com/comparison/Bazaar/Git/Mercurial/Subversion/index.html (source of the "terse" quote) uses commands unlike other source control systems'
  • #11: I had good experiences with their IRC channel
  • #12: used by people I want to work for
  • #13: Look out for SVN tags, they're just a copy
  • #24: CVS: each file had incrementing number git: which can be abbreviated (tag to make this more readable/useful) hg: 40 chars of hex which can be abbreviated
  • #42: NB Versions not equivalent!
  • #44: also beanstalk, unfuddle corporations hosting their distributed systems here that can get very expensive very fast
  • #46: With multiple repositories, the chances of losing data are much smaller. Can work offline Distribution scares businesses, since they like to control where their code goes Processes need to support use of more complicated tools Higher requirements for recruits or more training and support needed for teams
  • #58: (and if you're still interested in git - stay for Travis' talk!)