SlideShare a Scribd company logo
SVN
Rahul Tripathi
What is version control?
Version management allows you to control and monitor
changes to files
What changes were made?
Revert to pervious versions
When were changes made
What code was present in release 2.7?
Earliest tools were around 1972 (SCCS)
Older tools – RCS, CVS, Microsoft Source Safe, PVCS
Version Manager, etc…
Current tools – Subversion, Mercurial, Git, Bazaar
We will use subversion (svn)
Why?

Because it’s popular
It’s well supported
IDEs - Netbeans, Eclipse
Numerous GUI tools
Command line
XP Dev has support for it (you will use this for your semester
projects)
subversion concepts
checkout – get a local copy of the files
I have no files yet, how do I get them?
add – add a new file into the repository
I created a new file and want to check it in
commit – send locally modified files to the repository
I’ve made changes, how do I send them to the group?
update – update all files with latest changes
Other people made changes, how do I get them?
tag / branch – label a “release”
I want to “turn in” a set of files
Creating a new repository
Command Line:
Open command prompt
Go to a directory where you want your files to be stored
svn checkout <<location>>/svn/<<your project>>/

GUI Mac OSX SCPlugin
Adds commands to right-click menu in Finder

GUI Windows Tortoise SVN
Adds commands to right-click menu in Explorer
How to Use Version Control
checkout (first time)
(do some work, test)
update
commit
(do more work, test)
serverclient
send current revision ( n )
update your local copy with any
changes in the repo.
save your changes and log entry
check status
any changes since revision n?
(resolve conflicts)
tags
branches
trunk
Project 1
Root
Project 2
Subversion Repository Layout
tags
branches
trunk
tags
trunk
Project 1
Repository parent dir
Project 2
tags
trunk
One repository, many projects One project per repository
branches
branches
Subversion "repository"
Typically one "repository" per project.
Server can have an unlimited number of
"repositories".
/var/svn/kuclock
revision 1
(initial repo structure)
revision 2
revision 3
revision 3:
content diffs
author
date
reason for change (comment)
revision 4
"KUClock" Project Repository
revision 2:
initial project check-in
...etc...
Revision numbers
0 1 2 3
Revision number is
increased for every
transaction that
changes the repository.
Properties of a Repository
History of all changes to files and directories.
you can recover any previous version of a file
remembers "moved" and "deleted" files
Access Control
Read / write permission for users and groups
Permissions can apply to repo, directory, or file
Logging
author of the change
date of the change
reason for the change
URLs and Protocols
http://myhost.com:port/path/to/repository
Protocol:
svn
svn+ssh
http
https
file
Host name or
IP address
127.0.0.1
localhost
host:8443
optional port
number
Repository
relative
path
(1) Check Out using TortoiseSVN
Using Windows Explorer, right-click in a directory.
If not sure of path to check-out
then use Repo-browser first.
In Repo-browser, right-click on
folder or file you want to check-
out.
(1) Check out using Eclipse
Many ways to do it. Here is a simple way:
1. Switch to "SVN Repository Exploring Mode".
2. Right click and choose
New => Repository Location
3. Enter URL and (optional)
authentication info.
(1) Check out using Eclipse
Now you can browse the repository.
Choose the part you want to check-out
(usually "trunk")
Right click and choose "Check Out as..."
("Check Out as..." gives you a chance to
change local project name if you want.)
Merging
Merging from a Branch
Merge Tracking
Best Practices
Merging From a Branch
•What’s with the bug you've fixed on the bug-
fix-branch?
•What about your current development?
•You have to merge the
•changes made in the branch
•back to the main line.
RELEASE 1.0.0
BUGFIX_BRANCH
Merge back
267
RELEASE
1.0.1
Merge From a Branch via CLI
You can merge the changes from the branch
into your current working copy with the
following command:
svn merge -r 267:HEAD branchname
1)The Subversion “merge”-command.
2)The revision in which we created the branch (267) and HEAD
3) for the complete branch.
4)The branch-name you like to merge into your current
5) working copy.
Merge From a Branch via CLI
You can find the revision number when the
branch was created using the command:
svn log --verbose --stop-on-copy branchname
1) The Subversion “log”-command.
2) Print out much information (verbose).
3) Stop the log-output at the revision the branch was copied.
4) The branch-name you like to merge into your current
5) working copy.
Merge From a Branch via CLI
Extract the start point of the branch via CLI:
Merge From a Branch via CLI
Merging of a branch via CLI:
Merge From a Branch via
TortoiseSVN
Merging of a branch via TortoiseSVN:
Merge From a Branch via
TortoiseSVN
Merging of a branch via TortoiseSVN:
Merge From a Branch via
TortoiseSVN
Merging of a branch via TortoiseSVN:
Merge Tracking
Merge tracking:
•Subversion does not have any function to
track merges that have already been done,
•i.e., to prevent you to merge a branch a
second time.
•You have to do it yourself!
•Example: after merging, create a README-
merged file in the branch stating that it was merged
into trunk revision r99.
From the technical view branch and tag are the
same.
BUT:
•The intention of a tag is that it should be used as
read-only area whereas a branch is used to
continue development (interim code, bug-fixing,
release candidate etc.).
•Technically you can use a tag to continue
development and check in etc. but you shouldn’t
do it.
•So in other words the difference between a tag
and a branch is just an agreement.
Merge Warning
Developer Branches
•Separation of team members can be realized
with branches.
•One branch per team member or several
members on a branch - the decision is based
on the size of the teams.
Member 2
Main line
Member 1
Developer Branches
•Advantages using branches for team work:
•No changes during development on the main line
needed => Code stability.
•Every team member can work in its own environment.
•
•Disadvantages:
•Sometimes the mainline and the branch will diverge if
the branch lives too long.
Feature Branches
•Separation by features (one branch each).
Feature 2
Main line
Feature 1
Thank You
Ad

More Related Content

What's hot (20)

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
Jasmine Conseil
 
Subversion Best Practices
Subversion Best PracticesSubversion Best Practices
Subversion Best Practices
Matt Wood
 
Subversion Overview
Subversion OverviewSubversion Overview
Subversion Overview
polarion
 
Subversion
SubversionSubversion
Subversion
thebdot1
 
Subversion last minute survival crash course
Subversion  last minute survival crash courseSubversion  last minute survival crash course
Subversion last minute survival crash course
Fazreil Amreen Abdul Jalil
 
Subversion
SubversionSubversion
Subversion
University of Texas at Dallas
 
Subversion
SubversionSubversion
Subversion
Vaibhav Sakhalkar
 
Version Control and Continuous Integration
Version Control and Continuous IntegrationVersion Control and Continuous Integration
Version Control and Continuous Integration
Geff Henderson Chang
 
SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic
Aman Patial
 
svn
svnsvn
svn
Bhavin Prajapati
 
SVN Tutorial
SVN TutorialSVN Tutorial
SVN Tutorial
enggHeads
 
Version control
Version controlVersion control
Version control
Shahriar Iqbal Chowdhury
 
SVN
SVNSVN
SVN
enggHeads
 
Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP Developers
Lorna Mitchell
 
SVN session from PiTechnologies
SVN session from PiTechnologies SVN session from PiTechnologies
SVN session from PiTechnologies
PiTechnologies
 
Source version control using subversion
Source version control using subversionSource version control using subversion
Source version control using subversion
Mangesh Bhujbal
 
Source Code management System
Source Code management SystemSource Code management System
Source Code management System
Karthikeyan Annamalai
 
Version Control with SVN
Version Control with SVNVersion Control with SVN
Version Control with SVN
PHPBelgium
 
Source Code Management systems
Source Code Management systemsSource Code Management systems
Source Code Management systems
xSawyer
 
Servlet session 4
Servlet   session 4Servlet   session 4
Servlet session 4
Anuj Singh Rajput
 
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
Jasmine Conseil
 
Subversion Best Practices
Subversion Best PracticesSubversion Best Practices
Subversion Best Practices
Matt Wood
 
Subversion Overview
Subversion OverviewSubversion Overview
Subversion Overview
polarion
 
Subversion
SubversionSubversion
Subversion
thebdot1
 
Version Control and Continuous Integration
Version Control and Continuous IntegrationVersion Control and Continuous Integration
Version Control and Continuous Integration
Geff Henderson Chang
 
SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic
Aman Patial
 
SVN Tutorial
SVN TutorialSVN Tutorial
SVN Tutorial
enggHeads
 
Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP Developers
Lorna Mitchell
 
SVN session from PiTechnologies
SVN session from PiTechnologies SVN session from PiTechnologies
SVN session from PiTechnologies
PiTechnologies
 
Source version control using subversion
Source version control using subversionSource version control using subversion
Source version control using subversion
Mangesh Bhujbal
 
Version Control with SVN
Version Control with SVNVersion Control with SVN
Version Control with SVN
PHPBelgium
 
Source Code Management systems
Source Code Management systemsSource Code Management systems
Source Code Management systems
xSawyer
 

Viewers also liked (20)

In what ways does your media product use conventions
In what ways does your media product use conventionsIn what ways does your media product use conventions
In what ways does your media product use conventions
957755
 
How did you use media technologies in the
How did you use media technologies in theHow did you use media technologies in the
How did you use media technologies in the
957755
 
მასწ ინგლისურის ტესტი 2012
მასწ ინგლისურის ტესტი 2012მასწ ინგლისურის ტესტი 2012
მასწ ინგლისურის ტესტი 2012
ყურცქვიტა ბაჭია
 
Leveraging social media 2016 final
Leveraging social media 2016 finalLeveraging social media 2016 final
Leveraging social media 2016 final
Bridges Court Reporting
 
მასწ ინგლისურის ტესტი 2014
მასწ ინგლისურის ტესტი 2014მასწ ინგლისურის ტესტი 2014
მასწ ინგლისურის ტესტი 2014
ყურცქვიტა ბაჭია
 
Planning
PlanningPlanning
Planning
957755
 
Angello module 3.9 inquiry
Angello module 3.9 inquiryAngello module 3.9 inquiry
Angello module 3.9 inquiry
PhysicsKristin
 
Literacy in Science
Literacy in Science Literacy in Science
Literacy in Science
PhysicsKristin
 
Organisation of costume and props
Organisation of costume and propsOrganisation of costume and props
Organisation of costume and props
957755
 
Michael jackson ‘beat it’.pptx
Michael jackson ‘beat it’.pptxMichael jackson ‘beat it’.pptx
Michael jackson ‘beat it’.pptx
957755
 
Namiin jagsaalt 2012
Namiin jagsaalt 2012Namiin jagsaalt 2012
Namiin jagsaalt 2012
GEC Mongolia
 
A2 q3 advert
A2 q3 advertA2 q3 advert
A2 q3 advert
957755
 
Avdert feedback new
Avdert feedback newAvdert feedback new
Avdert feedback new
957755
 
მასწ ინგლისურის ტესტი 2011
მასწ ინგლისურის ტესტი 2011მასწ ინგლისურის ტესტი 2011
მასწ ინგლისურის ტესტი 2011
ყურცქვიტა ბაჭია
 
მასწ ინგლისურის ტესტი 2013
მასწ ინგლისურის ტესტი 2013მასწ ინგლისურის ტესტი 2013
მასწ ინგლისურის ტესტი 2013
ყურცქვიტა ბაჭია
 
Best places in London to visit
Best places in London to visit Best places in London to visit
Best places in London to visit
ყურცქვიტა ბაჭია
 
Making the advert
Making the advertMaking the advert
Making the advert
957755
 
“Animals and Their Young Ones”
“Animals and Their Young Ones” “Animals and Their Young Ones”
“Animals and Their Young Ones”
ყურცქვიტა ბაჭია
 
Togt 30-tb biin juram
Togt 30-tb biin juramTogt 30-tb biin juram
Togt 30-tb biin juram
GEC Mongolia
 
In what ways does your media product use conventions
In what ways does your media product use conventionsIn what ways does your media product use conventions
In what ways does your media product use conventions
957755
 
How did you use media technologies in the
How did you use media technologies in theHow did you use media technologies in the
How did you use media technologies in the
957755
 
Planning
PlanningPlanning
Planning
957755
 
Angello module 3.9 inquiry
Angello module 3.9 inquiryAngello module 3.9 inquiry
Angello module 3.9 inquiry
PhysicsKristin
 
Organisation of costume and props
Organisation of costume and propsOrganisation of costume and props
Organisation of costume and props
957755
 
Michael jackson ‘beat it’.pptx
Michael jackson ‘beat it’.pptxMichael jackson ‘beat it’.pptx
Michael jackson ‘beat it’.pptx
957755
 
Namiin jagsaalt 2012
Namiin jagsaalt 2012Namiin jagsaalt 2012
Namiin jagsaalt 2012
GEC Mongolia
 
A2 q3 advert
A2 q3 advertA2 q3 advert
A2 q3 advert
957755
 
Avdert feedback new
Avdert feedback newAvdert feedback new
Avdert feedback new
957755
 
Making the advert
Making the advertMaking the advert
Making the advert
957755
 
Togt 30-tb biin juram
Togt 30-tb biin juramTogt 30-tb biin juram
Togt 30-tb biin juram
GEC Mongolia
 
Ad

Similar to SVN Information (20)

How to use CVS applied to SOLab
How to use CVS applied to SOLabHow to use CVS applied to SOLab
How to use CVS applied to SOLab
Pablo Arriazu
 
Subversion on .Unix
Subversion on .UnixSubversion on .Unix
Subversion on .Unix
Trong Dinh
 
Subversion on .Unix
Subversion on .UnixSubversion on .Unix
Subversion on .Unix
Trong Dinh
 
Subversion
SubversionSubversion
Subversion
wiradikusuma
 
Svn workflow
Svn workflowSvn workflow
Svn workflow
Nont Banditwong
 
Slide set 7 (Source Code Management History Overview) - Copy.pptx
Slide set 7 (Source Code Management History  Overview) - Copy.pptxSlide set 7 (Source Code Management History  Overview) - Copy.pptx
Slide set 7 (Source Code Management History Overview) - Copy.pptx
UTKARSHBHARDWAJ71
 
Version Control Training - First Lego League
Version Control Training - First Lego LeagueVersion Control Training - First Lego League
Version Control Training - First Lego League
Jeffrey T. Pollock
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
Ashraf Fouad
 
Subversion
SubversionSubversion
Subversion
Tricode (part of Dept)
 
Git vs Subversion: ¿Cuando elegir uno u otro?
Git vs Subversion: ¿Cuando elegir uno u otro?Git vs Subversion: ¿Cuando elegir uno u otro?
Git vs Subversion: ¿Cuando elegir uno u otro?
Paradigma Digital
 
Burlington, VT PHP Users Group Subversion Presentation
Burlington, VT PHP Users Group Subversion PresentationBurlington, VT PHP Users Group Subversion Presentation
Burlington, VT PHP Users Group Subversion Presentation
Bradley Holt
 
ClearCase Basics
ClearCase BasicsClearCase Basics
ClearCase Basics
Abhishek Srivastava
 
Git your life for fun & profit
Git your life for fun & profitGit your life for fun & profit
Git your life for fun & profit
Interface ULg, LIEGE science park
 
Git your life for fun & profit
Git your life for fun & profitGit your life for fun & profit
Git your life for fun & profit
Geeks Anonymes
 
Version control with GIT
Version control with GITVersion control with GIT
Version control with GIT
Zeeshan Khan
 
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
Massimo Menichinelli
 
Mercurial presentation
Mercurial presentationMercurial presentation
Mercurial presentation
dotNETUserGroupDnipro
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching model
Pavlo Hodysh
 
Source Code Management Slides
Source Code Management SlidesSource Code Management Slides
Source Code Management Slides
daschuck
 
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
 
How to use CVS applied to SOLab
How to use CVS applied to SOLabHow to use CVS applied to SOLab
How to use CVS applied to SOLab
Pablo Arriazu
 
Subversion on .Unix
Subversion on .UnixSubversion on .Unix
Subversion on .Unix
Trong Dinh
 
Subversion on .Unix
Subversion on .UnixSubversion on .Unix
Subversion on .Unix
Trong Dinh
 
Slide set 7 (Source Code Management History Overview) - Copy.pptx
Slide set 7 (Source Code Management History  Overview) - Copy.pptxSlide set 7 (Source Code Management History  Overview) - Copy.pptx
Slide set 7 (Source Code Management History Overview) - Copy.pptx
UTKARSHBHARDWAJ71
 
Version Control Training - First Lego League
Version Control Training - First Lego LeagueVersion Control Training - First Lego League
Version Control Training - First Lego League
Jeffrey T. Pollock
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
Ashraf Fouad
 
Git vs Subversion: ¿Cuando elegir uno u otro?
Git vs Subversion: ¿Cuando elegir uno u otro?Git vs Subversion: ¿Cuando elegir uno u otro?
Git vs Subversion: ¿Cuando elegir uno u otro?
Paradigma Digital
 
Burlington, VT PHP Users Group Subversion Presentation
Burlington, VT PHP Users Group Subversion PresentationBurlington, VT PHP Users Group Subversion Presentation
Burlington, VT PHP Users Group Subversion Presentation
Bradley Holt
 
Git your life for fun & profit
Git your life for fun & profitGit your life for fun & profit
Git your life for fun & profit
Geeks Anonymes
 
Version control with GIT
Version control with GITVersion control with GIT
Version control with GIT
Zeeshan Khan
 
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
Massimo Menichinelli
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching model
Pavlo Hodysh
 
Source Code Management Slides
Source Code Management SlidesSource Code Management Slides
Source Code Management Slides
daschuck
 
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
 
Ad

Recently uploaded (20)

Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 

SVN Information

  • 2. What is version control? Version management allows you to control and monitor changes to files What changes were made? Revert to pervious versions When were changes made What code was present in release 2.7? Earliest tools were around 1972 (SCCS) Older tools – RCS, CVS, Microsoft Source Safe, PVCS Version Manager, etc… Current tools – Subversion, Mercurial, Git, Bazaar
  • 3. We will use subversion (svn) Why?  Because it’s popular It’s well supported IDEs - Netbeans, Eclipse Numerous GUI tools Command line XP Dev has support for it (you will use this for your semester projects)
  • 4. subversion concepts checkout – get a local copy of the files I have no files yet, how do I get them? add – add a new file into the repository I created a new file and want to check it in commit – send locally modified files to the repository I’ve made changes, how do I send them to the group? update – update all files with latest changes Other people made changes, how do I get them? tag / branch – label a “release” I want to “turn in” a set of files
  • 5. Creating a new repository Command Line: Open command prompt Go to a directory where you want your files to be stored svn checkout <<location>>/svn/<<your project>>/  GUI Mac OSX SCPlugin Adds commands to right-click menu in Finder  GUI Windows Tortoise SVN Adds commands to right-click menu in Explorer
  • 6. How to Use Version Control checkout (first time) (do some work, test) update commit (do more work, test) serverclient send current revision ( n ) update your local copy with any changes in the repo. save your changes and log entry check status any changes since revision n? (resolve conflicts)
  • 7. tags branches trunk Project 1 Root Project 2 Subversion Repository Layout tags branches trunk tags trunk Project 1 Repository parent dir Project 2 tags trunk One repository, many projects One project per repository branches branches
  • 8. Subversion "repository" Typically one "repository" per project. Server can have an unlimited number of "repositories". /var/svn/kuclock revision 1 (initial repo structure) revision 2 revision 3 revision 3: content diffs author date reason for change (comment) revision 4 "KUClock" Project Repository revision 2: initial project check-in ...etc...
  • 9. Revision numbers 0 1 2 3 Revision number is increased for every transaction that changes the repository.
  • 10. Properties of a Repository History of all changes to files and directories. you can recover any previous version of a file remembers "moved" and "deleted" files Access Control Read / write permission for users and groups Permissions can apply to repo, directory, or file Logging author of the change date of the change reason for the change
  • 11. URLs and Protocols http://myhost.com:port/path/to/repository Protocol: svn svn+ssh http https file Host name or IP address 127.0.0.1 localhost host:8443 optional port number Repository relative path
  • 12. (1) Check Out using TortoiseSVN Using Windows Explorer, right-click in a directory. If not sure of path to check-out then use Repo-browser first. In Repo-browser, right-click on folder or file you want to check- out.
  • 13. (1) Check out using Eclipse Many ways to do it. Here is a simple way: 1. Switch to "SVN Repository Exploring Mode". 2. Right click and choose New => Repository Location 3. Enter URL and (optional) authentication info.
  • 14. (1) Check out using Eclipse Now you can browse the repository. Choose the part you want to check-out (usually "trunk") Right click and choose "Check Out as..." ("Check Out as..." gives you a chance to change local project name if you want.)
  • 15. Merging Merging from a Branch Merge Tracking Best Practices
  • 16. Merging From a Branch •What’s with the bug you've fixed on the bug- fix-branch? •What about your current development? •You have to merge the •changes made in the branch •back to the main line. RELEASE 1.0.0 BUGFIX_BRANCH Merge back 267 RELEASE 1.0.1
  • 17. Merge From a Branch via CLI You can merge the changes from the branch into your current working copy with the following command: svn merge -r 267:HEAD branchname 1)The Subversion “merge”-command. 2)The revision in which we created the branch (267) and HEAD 3) for the complete branch. 4)The branch-name you like to merge into your current 5) working copy.
  • 18. Merge From a Branch via CLI You can find the revision number when the branch was created using the command: svn log --verbose --stop-on-copy branchname 1) The Subversion “log”-command. 2) Print out much information (verbose). 3) Stop the log-output at the revision the branch was copied. 4) The branch-name you like to merge into your current 5) working copy.
  • 19. Merge From a Branch via CLI Extract the start point of the branch via CLI:
  • 20. Merge From a Branch via CLI Merging of a branch via CLI:
  • 21. Merge From a Branch via TortoiseSVN Merging of a branch via TortoiseSVN:
  • 22. Merge From a Branch via TortoiseSVN Merging of a branch via TortoiseSVN:
  • 23. Merge From a Branch via TortoiseSVN Merging of a branch via TortoiseSVN:
  • 24. Merge Tracking Merge tracking: •Subversion does not have any function to track merges that have already been done, •i.e., to prevent you to merge a branch a second time. •You have to do it yourself! •Example: after merging, create a README- merged file in the branch stating that it was merged into trunk revision r99.
  • 25. From the technical view branch and tag are the same. BUT: •The intention of a tag is that it should be used as read-only area whereas a branch is used to continue development (interim code, bug-fixing, release candidate etc.). •Technically you can use a tag to continue development and check in etc. but you shouldn’t do it. •So in other words the difference between a tag and a branch is just an agreement. Merge Warning
  • 26. Developer Branches •Separation of team members can be realized with branches. •One branch per team member or several members on a branch - the decision is based on the size of the teams. Member 2 Main line Member 1
  • 27. Developer Branches •Advantages using branches for team work: •No changes during development on the main line needed => Code stability. •Every team member can work in its own environment. • •Disadvantages: •Sometimes the mainline and the branch will diverge if the branch lives too long.
  • 28. Feature Branches •Separation by features (one branch each). Feature 2 Main line Feature 1