SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Getting started with Subversion Jordan Hatch
What is subversion? Version control system Open Source Easy to set up
Why Version Control?
Keep Project organised File and project history Works with any text-based files More than one person editing Easy to branch/merge projects Small footprint on server
A Backup System Rollback changes on files Find out who changed what!
Setting Up Subversion
Choose the server
 svnserve Easy to set up Can be used with SSH Apache HTTP Server Harder to set up HTML repository browsing Multiple authentication methods
svnserve Available for multiple platforms Windows: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-serversetup-svnserve.html Mac: http://developer.apple.com/mac/library/documentation/Darwin/ Reference/ManPages/man8/svnserve.8.html Linux Package Manager
Creating a repository Linux & Mac OS X: $ svnadmin create /home/jordan/repo Windows: svnadmin create C:epo
Choose A Client
 Command Line! “Out of the box” SVN support on Mac OS X Easy to install on Linux Binaries for Windows – http://subversion.tigris.org/ GUIs Tortoise SVN – Windows only IDE Plugins Versions App for Mac
SVN Basics
Repository layout No forced structure Most commonly-used way

REPOSITORY LAYOUT trunk – Main project development branches – Experimental and release branches tags – “Snapshot” of a project
Importing Your Project $ svn import myproject /path/to/repo br />		-m “Importing my project” Adding myproject/page.php Adding myproject/style.css Adding myproject/includes Adding myproject/includes/db.php Committed revision 1.
Checking out Project $ svn checkout /path/to/repo/project A		myproject/page.php A		myproject/style.css A		myproject/includes A		myproject/includes/db.php Checked out revision 1.
Committing changes $ svn status A		myproject/login.php A		myproject/logout.php M		myproject/page.php M		myproject/style.css M		myproject/includes/db.php
Committing Changes $ svn commit -m “Added login page.” Sending 	myproject/login.php Sending 	myproject/logout.php Sending	myproject/page.php Sending	myproject/style.css Sending	myproject/includes/db.php Transmitting file data .  Committed revision 3.
Resolving Conflicts $ svn status C		myproject/login.php
Resolving Conflicts Four ways of resolving conflicts: Overwrite with your version of the file Overwrite with the existing version Merge the changes manually Merge using a merge tool
RESOLVING CONFLICTS $ svn resolve --accept working myproject/login.php Resolved conflicted state of ‘myproject/login.php'  $ svn commit -m “Added login session check.” Sending 	myproject/login.php Transmitting file data .  Committed revision 6.
Creating Branches & Tags It’s just a copy of a folder
 Merge changes back into trunk later $ svn copy /project/trunk /project/branches/1.0 $ svn copy /project/trunk /project/tags/1.0 $ svn copy /project/branches/1.0 /project/tags/1.1
SVN Examples
Release branches Used often in open source projects Very flexible Allows for maintenance releases while core is worked on for next major release.
Release Branches tags 1.0 1.0.1 1.5 1.5.1 1.7 branches 1.7 1.5 1.0 trunk
Seen in the wild
 WordPress’ SVN Zend Framework SVN
Branching Concepts Feature Branches Allows for experimentation Vendor Branches Keeping track of code libraries Allows for modifications to suit your needs
Conclusion You need version control! SVN is open-source and (fairly) easy to set up
 Use branches and tags to experiment with your code. Organise it however you like.
And IF You Get Stuck
 http://svnbook.red-bean.com Everything you need to know about SVN.
Thanks (: Jordan Hatch - @1jh http://www.jordanh.net/

Weitere Àhnliche Inhalte

Was ist angesagt?

SVN Best Practices
SVN Best PracticesSVN Best Practices
SVN Best Practices
ESRI Bulgaria
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
Ashraf Fouad
 
Version Control With Subversion
Version Control With SubversionVersion Control With Subversion
Version Control With Subversion
Samnang Chhun
 
Subversion client
Subversion clientSubversion client
Subversion client
rchakra
 
Introduction to Subversion and Google Project Hosting
Introduction to Subversion and Google Project HostingIntroduction to Subversion and Google Project Hosting
Introduction to Subversion and Google Project Hosting
Philip Johnson
 

Was ist angesagt? (20)

Subversion workshop
Subversion workshopSubversion workshop
Subversion workshop
 
Version Control with SVN
Version Control with SVNVersion Control with SVN
Version Control with SVN
 
Part 4 - Managing your svn repository using jas forge
Part 4  - Managing your svn repository using jas forgePart 4  - Managing your svn repository using jas forge
Part 4 - Managing your svn repository using jas forge
 
SVN Best Practices
SVN Best PracticesSVN Best Practices
SVN Best Practices
 
SVN Basics
SVN BasicsSVN Basics
SVN Basics
 
Subversion User Guide
Subversion User GuideSubversion User Guide
Subversion User Guide
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
 
Version Control With Subversion
Version Control With SubversionVersion Control With Subversion
Version Control With Subversion
 
svn
svnsvn
svn
 
Using svn
Using svnUsing svn
Using svn
 
Svn tutorial
Svn tutorialSvn tutorial
Svn tutorial
 
Version Control and Continuous Integration
Version Control and Continuous IntegrationVersion Control and Continuous Integration
Version Control and Continuous Integration
 
Subversion client
Subversion clientSubversion client
Subversion client
 
Introduction to Subversion and Google Project Hosting
Introduction to Subversion and Google Project HostingIntroduction to Subversion and Google Project Hosting
Introduction to Subversion and Google Project Hosting
 
Totalsvn Usage And Administration By Gopi
Totalsvn Usage And Administration By GopiTotalsvn Usage And Administration By Gopi
Totalsvn Usage And Administration By Gopi
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on Jenkins
 
Introduce to SVN
Introduce to SVNIntroduce to SVN
Introduce to SVN
 
JavaOne 2016 - Pipeline as code
JavaOne 2016 - Pipeline as codeJavaOne 2016 - Pipeline as code
JavaOne 2016 - Pipeline as code
 
Pipeline as code - new feature in Jenkins 2
Pipeline as code - new feature in Jenkins 2Pipeline as code - new feature in Jenkins 2
Pipeline as code - new feature in Jenkins 2
 
A brief introduction to version control systems
A brief introduction to version control systemsA brief introduction to version control systems
A brief introduction to version control systems
 

Andere mochten auch

Eat my data
Eat my dataEat my data
Eat my data
Peng Zuo
 
DB-IR-ranking
DB-IR-rankingDB-IR-ranking
DB-IR-ranking
FELIX75
 
Cm2007
Cm2007Cm2007
Cm2007
euweben01
 
Plagiarism Guidelines 2009
Plagiarism Guidelines 2009Plagiarism Guidelines 2009
Plagiarism Guidelines 2009
Tedine Soule
 

Andere mochten auch (19)

Eat my data
Eat my dataEat my data
Eat my data
 
Angular Weekend
Angular WeekendAngular Weekend
Angular Weekend
 
Angular 2 Campus Madrid Septiembre 2016
Angular 2 Campus Madrid Septiembre 2016Angular 2 Campus Madrid Septiembre 2016
Angular 2 Campus Madrid Septiembre 2016
 
Git vs SVN - Eine vergleichende EinfĂŒhrung
Git vs SVN - Eine vergleichende EinfĂŒhrungGit vs SVN - Eine vergleichende EinfĂŒhrung
Git vs SVN - Eine vergleichende EinfĂŒhrung
 
DB-IR-ranking
DB-IR-rankingDB-IR-ranking
DB-IR-ranking
 
Digitaal Toetsen Mp Voorlichtingv1
Digitaal Toetsen Mp Voorlichtingv1Digitaal Toetsen Mp Voorlichtingv1
Digitaal Toetsen Mp Voorlichtingv1
 
Cm2007
Cm2007Cm2007
Cm2007
 
Widgets
WidgetsWidgets
Widgets
 
Pir
PirPir
Pir
 
Circuit
CircuitCircuit
Circuit
 
Ditre Italia Leather kit
Ditre Italia Leather kitDitre Italia Leather kit
Ditre Italia Leather kit
 
Plagiarism Guidelines 2009
Plagiarism Guidelines 2009Plagiarism Guidelines 2009
Plagiarism Guidelines 2009
 
Next Generation Media Quarterly April 2011
Next Generation Media Quarterly April 2011Next Generation Media Quarterly April 2011
Next Generation Media Quarterly April 2011
 
NTTăƒ‡ăƒŒă‚żă‚°ăƒ«ăƒŒăƒ—ă‚Šă‚§ăƒ–ă‚”ă‚€ăƒˆăźăƒžăƒ«ăƒăƒ‡ăƒă‚€ă‚čćŻŸćżœ
NTTăƒ‡ăƒŒă‚żă‚°ăƒ«ăƒŒăƒ—ă‚Šă‚§ăƒ–ă‚”ă‚€ăƒˆăźăƒžăƒ«ăƒăƒ‡ăƒă‚€ă‚čćŻŸćżœNTTăƒ‡ăƒŒă‚żă‚°ăƒ«ăƒŒăƒ—ă‚Šă‚§ăƒ–ă‚”ă‚€ăƒˆăźăƒžăƒ«ăƒăƒ‡ăƒă‚€ă‚čćŻŸćżœ
NTTăƒ‡ăƒŒă‚żă‚°ăƒ«ăƒŒăƒ—ă‚Šă‚§ăƒ–ă‚”ă‚€ăƒˆăźăƒžăƒ«ăƒăƒ‡ăƒă‚€ă‚čćŻŸćżœ
 
Holm
HolmHolm
Holm
 
Integrating Digital Marketing Into Your Business Strategy: 2011 Agriculture M...
Integrating Digital Marketing Into Your Business Strategy: 2011 Agriculture M...Integrating Digital Marketing Into Your Business Strategy: 2011 Agriculture M...
Integrating Digital Marketing Into Your Business Strategy: 2011 Agriculture M...
 
ĐŸŃ€ĐŸĐłŃ€Đ°ĐŒĐŒĐ° ĐżĐŸĐŽĐŽĐ”Ń€Đ¶ĐșĐž эĐșŃĐżĐŸŃ€Ń‚Đ° ĐžĐœĐœĐŸĐČĐ°Ń†ĐžĐŸĐœĐœĐŸĐč Đž ĐČŃ‹ŃĐŸĐșĐŸŃ‚Đ”Ń…ĐœĐŸĐ»ĐŸĐłĐžŃ‡ĐœĐŸĐč ĐżŃ€ĐŸĐŽŃƒĐșцоо, р...
ĐŸŃ€ĐŸĐłŃ€Đ°ĐŒĐŒĐ° ĐżĐŸĐŽĐŽĐ”Ń€Đ¶ĐșĐž эĐșŃĐżĐŸŃ€Ń‚Đ° ĐžĐœĐœĐŸĐČĐ°Ń†ĐžĐŸĐœĐœĐŸĐč Đž ĐČŃ‹ŃĐŸĐșĐŸŃ‚Đ”Ń…ĐœĐŸĐ»ĐŸĐłĐžŃ‡ĐœĐŸĐč ĐżŃ€ĐŸĐŽŃƒĐșцоо, р...ĐŸŃ€ĐŸĐłŃ€Đ°ĐŒĐŒĐ° ĐżĐŸĐŽĐŽĐ”Ń€Đ¶ĐșĐž эĐșŃĐżĐŸŃ€Ń‚Đ° ĐžĐœĐœĐŸĐČĐ°Ń†ĐžĐŸĐœĐœĐŸĐč Đž ĐČŃ‹ŃĐŸĐșĐŸŃ‚Đ”Ń…ĐœĐŸĐ»ĐŸĐłĐžŃ‡ĐœĐŸĐč ĐżŃ€ĐŸĐŽŃƒĐșцоо, р...
ĐŸŃ€ĐŸĐłŃ€Đ°ĐŒĐŒĐ° ĐżĐŸĐŽĐŽĐ”Ń€Đ¶ĐșĐž эĐșŃĐżĐŸŃ€Ń‚Đ° ĐžĐœĐœĐŸĐČĐ°Ń†ĐžĐŸĐœĐœĐŸĐč Đž ĐČŃ‹ŃĐŸĐșĐŸŃ‚Đ”Ń…ĐœĐŸĐ»ĐŸĐłĐžŃ‡ĐœĐŸĐč ĐżŃ€ĐŸĐŽŃƒĐșцоо, р...
 
Catalogo divani Ditre Italia 2011
Catalogo divani Ditre Italia 2011Catalogo divani Ditre Italia 2011
Catalogo divani Ditre Italia 2011
 
Update On The Banking Industry
Update On The Banking IndustryUpdate On The Banking Industry
Update On The Banking Industry
 

Ähnlich wie Getting Started With Subversion

Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP Developers
Lorna Mitchell
 
Digital Fabrication Studio 0.3 Information
Digital Fabrication Studio 0.3 InformationDigital Fabrication Studio 0.3 Information
Digital Fabrication Studio 0.3 Information
Massimo Menichinelli
 
subversion.ppt
subversion.pptsubversion.ppt
subversion.ppt
TahaKhayyam
 
Version control with Subversion
Version control with SubversionVersion control with Subversion
Version control with Subversion
O. R. Kumaran
 
Subversion @ JUG Milano 11 dic 2009
Subversion @ JUG Milano 11 dic 2009Subversion @ JUG Milano 11 dic 2009
Subversion @ JUG Milano 11 dic 2009
Andrea Francia
 
Introduction to Version Control and Configuration Management
Introduction to Version Control and Configuration ManagementIntroduction to Version Control and Configuration Management
Introduction to Version Control and Configuration Management
Philip Johnson
 
PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated Deployment
Michael Peacock
 

Ähnlich wie Getting Started With Subversion (20)

Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP Developers
 
Digital Fabrication Studio 0.3 Information
Digital Fabrication Studio 0.3 InformationDigital Fabrication Studio 0.3 Information
Digital Fabrication Studio 0.3 Information
 
subversion.ppt
subversion.pptsubversion.ppt
subversion.ppt
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld Presentation
 
Version control with Subversion
Version control with SubversionVersion control with Subversion
Version control with Subversion
 
SVN Tutorial
SVN TutorialSVN Tutorial
SVN Tutorial
 
J+s
J+sJ+s
J+s
 
Subversion @ JUG Milano 11 dic 2009
Subversion @ JUG Milano 11 dic 2009Subversion @ JUG Milano 11 dic 2009
Subversion @ JUG Milano 11 dic 2009
 
Digital Fabrication Studio v.0.2: Information
Digital Fabrication Studio v.0.2: InformationDigital Fabrication Studio v.0.2: Information
Digital Fabrication Studio v.0.2: Information
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version Control
 
Introduction to Version Control and Configuration Management
Introduction to Version Control and Configuration ManagementIntroduction to Version Control and Configuration Management
Introduction to Version Control and Configuration Management
 
Subversion on .Unix
Subversion on .UnixSubversion on .Unix
Subversion on .Unix
 
Subversion on .Unix
Subversion on .UnixSubversion on .Unix
Subversion on .Unix
 
PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated Deployment
 
Automated Deployment
Automated DeploymentAutomated Deployment
Automated Deployment
 
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
Digital Fabrication Studio.02 _Information @ Aalto Media FactoryDigital Fabrication Studio.02 _Information @ Aalto Media Factory
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
 
ClearCase Basics
ClearCase BasicsClearCase Basics
ClearCase Basics
 
Professional deployment
Professional deploymentProfessional deployment
Professional deployment
 
Subversion (SVN)
Subversion (SVN)Subversion (SVN)
Subversion (SVN)
 
FlashInTO SVN Presentation
FlashInTO SVN PresentationFlashInTO SVN Presentation
FlashInTO SVN Presentation
 

KĂŒrzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

KĂŒrzlich hochgeladen (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Getting Started With Subversion

  • 1. Getting started with Subversion Jordan Hatch
  • 2. What is subversion? Version control system Open Source Easy to set up
  • 4. Keep Project organised File and project history Works with any text-based files More than one person editing Easy to branch/merge projects Small footprint on server
  • 5. A Backup System Rollback changes on files Find out who changed what!
  • 7. Choose the server
 svnserve Easy to set up Can be used with SSH Apache HTTP Server Harder to set up HTML repository browsing Multiple authentication methods
  • 8. svnserve Available for multiple platforms Windows: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-serversetup-svnserve.html Mac: http://developer.apple.com/mac/library/documentation/Darwin/ Reference/ManPages/man8/svnserve.8.html Linux Package Manager
  • 9. Creating a repository Linux & Mac OS X: $ svnadmin create /home/jordan/repo Windows: svnadmin create C:epo
  • 10. Choose A Client
 Command Line! “Out of the box” SVN support on Mac OS X Easy to install on Linux Binaries for Windows – http://subversion.tigris.org/ GUIs Tortoise SVN – Windows only IDE Plugins Versions App for Mac
  • 12. Repository layout No forced structure Most commonly-used way

  • 13.
  • 14. REPOSITORY LAYOUT trunk – Main project development branches – Experimental and release branches tags – “Snapshot” of a project
  • 15. Importing Your Project $ svn import myproject /path/to/repo br /> -m “Importing my project” Adding myproject/page.php Adding myproject/style.css Adding myproject/includes Adding myproject/includes/db.php Committed revision 1.
  • 16. Checking out Project $ svn checkout /path/to/repo/project A myproject/page.php A myproject/style.css A myproject/includes A myproject/includes/db.php Checked out revision 1.
  • 17. Committing changes $ svn status A myproject/login.php A myproject/logout.php M myproject/page.php M myproject/style.css M myproject/includes/db.php
  • 18. Committing Changes $ svn commit -m “Added login page.” Sending myproject/login.php Sending myproject/logout.php Sending myproject/page.php Sending myproject/style.css Sending myproject/includes/db.php Transmitting file data . Committed revision 3.
  • 19. Resolving Conflicts $ svn status C myproject/login.php
  • 20. Resolving Conflicts Four ways of resolving conflicts: Overwrite with your version of the file Overwrite with the existing version Merge the changes manually Merge using a merge tool
  • 21. RESOLVING CONFLICTS $ svn resolve --accept working myproject/login.php Resolved conflicted state of ‘myproject/login.php' $ svn commit -m “Added login session check.” Sending myproject/login.php Transmitting file data . Committed revision 6.
  • 22. Creating Branches & Tags It’s just a copy of a folder
 Merge changes back into trunk later $ svn copy /project/trunk /project/branches/1.0 $ svn copy /project/trunk /project/tags/1.0 $ svn copy /project/branches/1.0 /project/tags/1.1
  • 24. Release branches Used often in open source projects Very flexible Allows for maintenance releases while core is worked on for next major release.
  • 25. Release Branches tags 1.0 1.0.1 1.5 1.5.1 1.7 branches 1.7 1.5 1.0 trunk
  • 26. Seen in the wild
 WordPress’ SVN Zend Framework SVN
  • 27. Branching Concepts Feature Branches Allows for experimentation Vendor Branches Keeping track of code libraries Allows for modifications to suit your needs
  • 28. Conclusion You need version control! SVN is open-source and (fairly) easy to set up
 Use branches and tags to experiment with your code. Organise it however you like.
  • 29. And IF You Get Stuck
 http://svnbook.red-bean.com Everything you need to know about SVN.
  • 30. Thanks (: Jordan Hatch - @1jh http://www.jordanh.net/