SlideShare a Scribd company logo
1 of 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/

More Related Content

What's hot

Subversion workshop
Subversion workshopSubversion workshop
Subversion workshopTrafeX
 
Version Control with SVN
Version Control with SVNVersion Control with SVN
Version Control with SVNPHPBelgium
 
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 forgeJasmine Conseil
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best PracticesAshraf Fouad
 
Version Control With Subversion
Version Control With SubversionVersion Control With Subversion
Version Control With SubversionSamnang Chhun
 
Version Control and Continuous Integration
Version Control and Continuous IntegrationVersion Control and Continuous Integration
Version Control and Continuous IntegrationGeff Henderson Chang
 
Subversion client
Subversion clientSubversion client
Subversion clientrchakra
 
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 HostingPhilip Johnson
 
Totalsvn Usage And Administration By Gopi
Totalsvn Usage And Administration By GopiTotalsvn Usage And Administration By Gopi
Totalsvn Usage And Administration By Gopigopinathkarangula
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on JenkinsKnoldus Inc.
 
JavaOne 2016 - Pipeline as code
JavaOne 2016 - Pipeline as codeJavaOne 2016 - Pipeline as code
JavaOne 2016 - Pipeline as codeBert Jan Schrijver
 
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 2Michal Ziarnik
 
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 systemsTim Staley
 

What's hot (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
 

Viewers also liked

Eat my data
Eat my dataEat my data
Eat my dataPeng Zuo
 
Angular Weekend
Angular WeekendAngular Weekend
Angular WeekendTroy Miles
 
Angular 2 Campus Madrid Septiembre 2016
Angular 2 Campus Madrid Septiembre 2016Angular 2 Campus Madrid Septiembre 2016
Angular 2 Campus Madrid Septiembre 2016Micael Gallego
 
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ührungMario Müller
 
DB-IR-ranking
DB-IR-rankingDB-IR-ranking
DB-IR-rankingFELIX75
 
Digitaal Toetsen Mp Voorlichtingv1
Digitaal Toetsen Mp Voorlichtingv1Digitaal Toetsen Mp Voorlichtingv1
Digitaal Toetsen Mp Voorlichtingv1Alexander Kremers
 
Plagiarism Guidelines 2009
Plagiarism Guidelines 2009Plagiarism Guidelines 2009
Plagiarism Guidelines 2009Tedine Soule
 
Next Generation Media Quarterly April 2011
Next Generation Media Quarterly April 2011Next Generation Media Quarterly April 2011
Next Generation Media Quarterly April 2011dentsu
 
NTTデータグループウェブサイトのマルチデバイス対応
NTTデータグループウェブサイトのマルチデバイス対応NTTデータグループウェブサイトのマルチデバイス対応
NTTデータグループウェブサイトのマルチデバイス対応力也 伊原
 
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...Shelly Kramer
 
Программа поддержки экспорта инновационной и высокотехнологичной продукции, р...
Программа поддержки экспорта инновационной и высокотехнологичной продукции, р...Программа поддержки экспорта инновационной и высокотехнологичной продукции, р...
Программа поддержки экспорта инновационной и высокотехнологичной продукции, р...Ingria. Technopark St. Petersburg
 
Catalogo divani Ditre Italia 2011
Catalogo divani Ditre Italia 2011Catalogo divani Ditre Italia 2011
Catalogo divani Ditre Italia 2011Ditre Italia divani
 
Update On The Banking Industry
Update On The Banking IndustryUpdate On The Banking Industry
Update On The Banking IndustryMCDFS
 

Viewers also liked (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
 

Similar to Getting Started With Subversion

Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP DevelopersLorna Mitchell
 
Digital Fabrication Studio 0.3 Information
Digital Fabrication Studio 0.3 InformationDigital Fabrication Studio 0.3 Information
Digital Fabrication Studio 0.3 InformationMassimo Menichinelli
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld PresentationDan Hinojosa
 
Version control with Subversion
Version control with SubversionVersion control with Subversion
Version control with SubversionO. R. Kumaran
 
SVN Tutorial
SVN TutorialSVN Tutorial
SVN TutorialenggHeads
 
Subversion @ JUG Milano 11 dic 2009
Subversion @ JUG Milano 11 dic 2009Subversion @ JUG Milano 11 dic 2009
Subversion @ JUG Milano 11 dic 2009Andrea Francia
 
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: InformationMassimo Menichinelli
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version ControlJeremy Coates
 
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 ManagementPhilip Johnson
 
Subversion on .Unix
Subversion on .UnixSubversion on .Unix
Subversion on .UnixTrong Dinh
 
Subversion on .Unix
Subversion on .UnixSubversion on .Unix
Subversion on .UnixTrong Dinh
 
PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated DeploymentMichael Peacock
 
Automated Deployment
Automated DeploymentAutomated Deployment
Automated Deploymentphpne
 
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 FactoryMassimo Menichinelli
 
Professional deployment
Professional deploymentProfessional deployment
Professional deploymentIvelina Dimova
 
FlashInTO SVN Presentation
FlashInTO SVN PresentationFlashInTO SVN Presentation
FlashInTO SVN PresentationMatthew Fabb
 

Similar to 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
 

Recently uploaded

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
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 2024Rafal Los
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Recently uploaded (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

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/