SlideShare a Scribd company logo
1 of 33
SVN
Organize your Code, files and even your life …Organize your Code, files and even your life …
Mahmoud S. Khalifa
Agenda
∗ What …. ?
∗ Why …. ?
∗ Vocabulary
What….?
Subversion (abbreviated SVN) is an open source version
control system that facilitates source code development by
multiple software developers
SVN allows us to easily:
∗ maintain backups of source code
∗ automate deployment
∗ keep copies of every single version of the code
∗ prevents developers from overwriting each other's work.
∗ roll back to previous versions of code
Why…. ?
∗ SVN : abbreviation for subversion
∗ Conflict: Two competing versions of the same file
∗ Working Folder: Folder (local or server) that you check out the
code to in order to edit
∗ Prev: The revision immediately before the last revision in which
an item changed. Technically, this boils down to
COMMITTED#1.
Vocabulary
BASE revision
This is the revision the file or folder was in, when the
last checkout, update or commit was run .
Vocabulary
Branch
You can create a branch off the main development line
so as to develop a new feature without rendering the
main line unstable.
Or you can branch a stable release to which you make
only bugfixes, while new developments take place on
the unstable trunk. In Subversion a branch is
implemented as a “cheap copy”.
Vocabulary
Blame
This command is for text files only, and it annotates
every line to show the repository revision in which it
was last changed, and the author who made that
change. Our GUI implementation is called
TortoiseBlame and it also shows the commit date/time
and the log message when you hover the mouse of the
revision number.
Vocabulary
Commit
This Subversion command is used to pass the changes in
your local working copy back into the repository,
creating a new repository revision.
Vocabulary
Checkout
A Subversion command which creates a local working
copy in an empty directory by downloading versioned
files from the repository.
Vocabulary
COPY
In a Subversion repository you can create a copy of a
single file or an entire tree. These are implemented as
“cheap copies” which act a bit like a link to the original
in that they take up almost no space. Making a copy
preserves the history of the item in the copy, so you can
trace changes made before the copy was made.
Vocabulary
Export
This command produces a copy of a versioned folder,
just like a working copy, but without the local .svn
folders.
Vocabulary
FSFS
FS File system. A proprietary Subversion file system
backend for repositories. Can be used on network
shares. Default for 1.2 and newer repositories.
Vocabulary
Diff
Shorthand for “Show Differences”. Very useful when
you want to see exactly what changes have been made.
Vocabulary
HEAD revision
The latest revision of a file or folder in the repository.
Vocabulary
Patch
If a working copy has changes to text files only, it is possible
to use Subversion's Diff command to generate a single file
summary of those changes in Unified Diff format. A file of
this type is often referred to as a “Patch”, and it can be
emailed to someone else (or to a mailing list) and applied to
another working copy. Someone without commit access can
make changes and submit a patch file for an authorized
committer to apply. Or if you are unsure about a change you
can submit a patch for others to review.
Vocabulary
Merge
The process by which changes from the repository are added to
your working copy without disrupting any changes you have
already made locally. Sometimes these changes cannot be
reconciled automatically and the working copy is said to be in
conflict.
Merging happens automatically when you update your working
copy. You can also merge specific changes from another branch
using TortoiseSVN's Merge command.
Vocabulary
Switch
Just as “Update-to-revision” changes the time window of a
working copy to look at a different point in history, so “Switch”
changes the space window of a working copy so that it points to a
different part of the repository. It is particularly useful when
working on trunk and branches where only a few files differ. You
can switch your working copy between the two and only the
changed files will be transferred.
Vocabulary
Update
This Subversion command pulls down the latest
changes from the repository into your working copy,
merging any changes made by others with local
changes in the working copy.
Vocabulary
Working Copy
This is your local “sandbox”, the area where you work
on the versioned files, and it normally resides on your
local hard disk. You create a working copy by doing a
“Checkout” from a repository, and you feed your
changes back into the repository using “Commit”.
Vocabulary
Property
In addition to versioning your directories and files,
Subversion allows you to add versioned metadata - referred
to as “properties” to each of your versioned directories and
files. Each property has a name and a value, rather like a
registry key. Subversion has some special properties which it
uses internally, such as svn:eol-style. TortoiseSVN has some
too, such as tsvn:logminsize. You can add your own
properties with any name and value you choose
Vocabulary
Import
Subversion command to import an entire folder
hierarchy into the repository in a single revision.
Vocabulary
Relocate
If your repository moves, perhaps because you have moved
it to a different directory on your server, or the server
domain name has changed, you need to “relocate” your
working copy so that its repository URLs point to the new
location.
Note: you should only use this command if your working
copy is referring to the same location in the same repository,
but the repository itself has moved. In any other
circumstance you probably need the “Switch” command
instead.
Vocabulary
Revision
Every time you commit a set of changes, you create one
new “revision” in the repository. Each revision
represents the state of the repository tree at a certain
point in its history. If you want to go back in time you
can examine the repository as it was at revision N.
Vocabulary
Lock
When you take out a lock on a versioned item, you mark
it in the repository as uncommittable, except from the
working copy where the lock was taken out.
Vocabulary
Cleanup
To quote from the Subversion book: “ Recursively clean up
the working copy, removing locks and resuming unfinished
operations. If you ever get a working copy locked error, run
this command to remove stale locks and get your working
copy into a usable state again. ” Note that in this context
“lock” refers to local file system locking, not repository
locking.
Vocabulary
∗ To tag each commit to a Bug ID, you can set one these
one of these properties while configuring
Subversion :-
∗ bugtraq:url : Set this property to the url of your
bugtracking tool. It must be properly URI encoded
and it has to contain %BUGID%
∗ http://issues.tortoisesvn.net/?do=details&id=%BUGID%
Integration with Bug Tracking
∗ bugtraq:warnifnoissue
∗ Set this to true, if you want TortoiseSVN to warn you
because of an empty issuenumber textfield. Valid
values are true/false. If not defined, false is assumed.
Integration with bug tracking
∗ bugtraq:message
∗ This property activates the Bugtracking System in Input
field mode. If this property is set, then TortoiseSVN
will prompt you to enter an issue number when you
commit your changes
Integration with Bug Tracking
∗ bugtraq:logregex
∗ This property activates the Bugtracking System in
Regex mode. It contains one or two regular
expressions, separated by a newline
∗ If only one expression is set, then the bare bug ID's
must be matched in the groups of the regex string.
Example: [Ii]ssue(?:s)? #?(d+)
Integration with Bug Trackers
Facebook Group:
Embedded in PiTechnologies
Facebook Page:
PiTechnologies.page
Thanks

More Related Content

What's hot

Docker-Vancouver Meetup - March 18, 2014 - Contain(erize) the tests - Mark Ei...
Docker-Vancouver Meetup - March 18, 2014 - Contain(erize) the tests - Mark Ei...Docker-Vancouver Meetup - March 18, 2014 - Contain(erize) the tests - Mark Ei...
Docker-Vancouver Meetup - March 18, 2014 - Contain(erize) the tests - Mark Ei...
bacongobbler
 
Building Images
Building ImagesBuilding Images
Building Images
Dawood M.S
 
Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP Developers
Lorna Mitchell
 
Subversion
SubversionSubversion
Subversion
thebdot1
 
Ansible automation tool with modules
Ansible automation tool with modulesAnsible automation tool with modules
Ansible automation tool with modules
mohamedmoharam
 

What's hot (20)

Hotbackup
HotbackupHotbackup
Hotbackup
 
Performance testing meets the cloud - Artem Shendrikov
Performance testing meets the cloud -  Artem ShendrikovPerformance testing meets the cloud -  Artem Shendrikov
Performance testing meets the cloud - Artem Shendrikov
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3
 
Docker use dockerfile
Docker use dockerfileDocker use dockerfile
Docker use dockerfile
 
Introduction to Subversion
Introduction to SubversionIntroduction to Subversion
Introduction to Subversion
 
Chef introduction
Chef introductionChef introduction
Chef introduction
 
Docker-Vancouver Meetup - March 18, 2014 - Contain(erize) the tests - Mark Ei...
Docker-Vancouver Meetup - March 18, 2014 - Contain(erize) the tests - Mark Ei...Docker-Vancouver Meetup - March 18, 2014 - Contain(erize) the tests - Mark Ei...
Docker-Vancouver Meetup - March 18, 2014 - Contain(erize) the tests - Mark Ei...
 
Docker Workshop
Docker WorkshopDocker Workshop
Docker Workshop
 
Subversion Best Practices
Subversion Best PracticesSubversion Best Practices
Subversion Best Practices
 
Building Images
Building ImagesBuilding Images
Building Images
 
Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP Developers
 
CONTINUOUS INTEGRATION && DOCKER
CONTINUOUS INTEGRATION && DOCKERCONTINUOUS INTEGRATION && DOCKER
CONTINUOUS INTEGRATION && DOCKER
 
Subversion
SubversionSubversion
Subversion
 
Why You Should Use Oracle SQL Developer
Why You Should Use Oracle SQL DeveloperWhy You Should Use Oracle SQL Developer
Why You Should Use Oracle SQL Developer
 
Ansible automation tool with modules
Ansible automation tool with modulesAnsible automation tool with modules
Ansible automation tool with modules
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.js
 
Servicemix4.5.0
Servicemix4.5.0Servicemix4.5.0
Servicemix4.5.0
 
DockerCon 18 docker storage
DockerCon 18 docker storageDockerCon 18 docker storage
DockerCon 18 docker storage
 
Subversion
SubversionSubversion
Subversion
 

Viewers also liked

Викторина
ВикторинаВикторина
Викторина
koneqq
 
Korfbal na zakladni skole
Korfbal na zakladni skoleKorfbal na zakladni skole
Korfbal na zakladni skole
gazelka
 
Ignify eCommerce methodology
Ignify eCommerce methodologyIgnify eCommerce methodology
Ignify eCommerce methodology
shankun banta
 
通識小組報告 青森
通識小組報告 青森通識小組報告 青森
通識小組報告 青森
Tziyu Yang
 
China synthetic fiber mfg. industry profile cic282 sample pages
China synthetic fiber mfg. industry profile cic282   sample pagesChina synthetic fiber mfg. industry profile cic282   sample pages
China synthetic fiber mfg. industry profile cic282 sample pages
Beijing Zeefer Consulting Ltd.
 
Increasing the rigor and efficiency of research through the use of qualitati...
Increasing the rigor and efficiency of research through the use of  qualitati...Increasing the rigor and efficiency of research through the use of  qualitati...
Increasing the rigor and efficiency of research through the use of qualitati...
Merlien Institute
 
Shannon elari
Shannon elariShannon elari
Shannon elari
selari
 
Artifact 1 Powerpoint
Artifact 1 PowerpointArtifact 1 Powerpoint
Artifact 1 Powerpoint
jrweathe
 
إضافة تعليق على الطقس
إضافة تعليق على الطقسإضافة تعليق على الطقس
إضافة تعليق على الطقس
Jeeran Support
 

Viewers also liked (20)

Lesson level ! of English
Lesson level ! of EnglishLesson level ! of English
Lesson level ! of English
 
Slim n healthy
Slim n healthySlim n healthy
Slim n healthy
 
Arild Sundberg: Digitalisering og anskaffelsesområdet
Arild Sundberg: Digitalisering og anskaffelsesområdetArild Sundberg: Digitalisering og anskaffelsesområdet
Arild Sundberg: Digitalisering og anskaffelsesområdet
 
Викторина
ВикторинаВикторина
Викторина
 
Korfbal na zakladni skole
Korfbal na zakladni skoleKorfbal na zakladni skole
Korfbal na zakladni skole
 
Ignify eCommerce methodology
Ignify eCommerce methodologyIgnify eCommerce methodology
Ignify eCommerce methodology
 
COMM 119-Production Planning
COMM 119-Production PlanningCOMM 119-Production Planning
COMM 119-Production Planning
 
通識小組報告 青森
通識小組報告 青森通識小組報告 青森
通識小組報告 青森
 
Intro To Virtual Comm Tag 111908
Intro To Virtual Comm Tag 111908Intro To Virtual Comm Tag 111908
Intro To Virtual Comm Tag 111908
 
1 news item
1 news item1 news item
1 news item
 
China synthetic fiber mfg. industry profile cic282 sample pages
China synthetic fiber mfg. industry profile cic282   sample pagesChina synthetic fiber mfg. industry profile cic282   sample pages
China synthetic fiber mfg. industry profile cic282 sample pages
 
Eltek CK3S-ANN-VC
Eltek CK3S-ANN-VCEltek CK3S-ANN-VC
Eltek CK3S-ANN-VC
 
Increasing the rigor and efficiency of research through the use of qualitati...
Increasing the rigor and efficiency of research through the use of  qualitati...Increasing the rigor and efficiency of research through the use of  qualitati...
Increasing the rigor and efficiency of research through the use of qualitati...
 
Foto premiazione (id)art_fest2011
Foto premiazione (id)art_fest2011Foto premiazione (id)art_fest2011
Foto premiazione (id)art_fest2011
 
Shannon elari
Shannon elariShannon elari
Shannon elari
 
India
IndiaIndia
India
 
Kaspersky
KasperskyKaspersky
Kaspersky
 
Artifact 1 Powerpoint
Artifact 1 PowerpointArtifact 1 Powerpoint
Artifact 1 Powerpoint
 
إضافة تعليق على الطقس
إضافة تعليق على الطقسإضافة تعليق على الطقس
إضافة تعليق على الطقس
 
Pollution
PollutionPollution
Pollution
 

Similar to SVN session from PiTechnologies

SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
Ashraf Fouad
 
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
 
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
 

Similar to SVN session from PiTechnologies (20)

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
 
Subversion
SubversionSubversion
Subversion
 
Subversion
SubversionSubversion
Subversion
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best Practices
 
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
 
Subversion
SubversionSubversion
Subversion
 
Svn workflow
Svn workflowSvn workflow
Svn workflow
 
Subversion on .Unix
Subversion on .UnixSubversion on .Unix
Subversion on .Unix
 
Subversion on .Unix
Subversion on .UnixSubversion on .Unix
Subversion on .Unix
 
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
 
Subversion (SVN)
Subversion (SVN)Subversion (SVN)
Subversion (SVN)
 
Mercurial presentation
Mercurial presentationMercurial presentation
Mercurial presentation
 
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
 
Version Control Training - First Lego League
Version Control Training - First Lego LeagueVersion Control Training - First Lego League
Version Control Training - First Lego League
 
Version control with GIT
Version control with GITVersion control with GIT
Version control with GIT
 
Version Control System
Version Control SystemVersion Control System
Version Control System
 
Git your life for fun & profit
Git your life for fun & profitGit your life for fun & profit
Git your life for fun & profit
 
SVN Tutorial
SVN TutorialSVN Tutorial
SVN Tutorial
 
Source version control using subversion
Source version control using subversionSource version control using subversion
Source version control using subversion
 

More from PiTechnologies

Mobile apps & digital marketing for restaurants
Mobile apps & digital marketing for restaurantsMobile apps & digital marketing for restaurants
Mobile apps & digital marketing for restaurants
PiTechnologies
 
Professional employee [PiTechnologies] v1.0
Professional employee [PiTechnologies] v1.0Professional employee [PiTechnologies] v1.0
Professional employee [PiTechnologies] v1.0
PiTechnologies
 
Embedded SW Interview Questions
Embedded SW Interview Questions Embedded SW Interview Questions
Embedded SW Interview Questions
PiTechnologies
 
Web development meetingup
Web development meetingupWeb development meetingup
Web development meetingup
PiTechnologies
 
Developer's got talent iPhone
Developer's got talent iPhoneDeveloper's got talent iPhone
Developer's got talent iPhone
PiTechnologies
 
Developer's Got Talent Keynote
Developer's Got Talent KeynoteDeveloper's Got Talent Keynote
Developer's Got Talent Keynote
PiTechnologies
 
PiTechnologies in cloud computing
PiTechnologies in cloud computingPiTechnologies in cloud computing
PiTechnologies in cloud computing
PiTechnologies
 

More from PiTechnologies (12)

Entrepreneurship in a nutshell
Entrepreneurship in a nutshellEntrepreneurship in a nutshell
Entrepreneurship in a nutshell
 
Mobile apps & digital marketing for restaurants
Mobile apps & digital marketing for restaurantsMobile apps & digital marketing for restaurants
Mobile apps & digital marketing for restaurants
 
Professional employee [PiTechnologies] v1.0
Professional employee [PiTechnologies] v1.0Professional employee [PiTechnologies] v1.0
Professional employee [PiTechnologies] v1.0
 
10 Things Really Amazing Employees Do
10 Things Really Amazing Employees Do10 Things Really Amazing Employees Do
10 Things Really Amazing Employees Do
 
Embedded SW Interview Questions
Embedded SW Interview Questions Embedded SW Interview Questions
Embedded SW Interview Questions
 
Web development meetingup
Web development meetingupWeb development meetingup
Web development meetingup
 
Developer's got talent iPhone
Developer's got talent iPhoneDeveloper's got talent iPhone
Developer's got talent iPhone
 
Developer's Got Talent Keynote
Developer's Got Talent KeynoteDeveloper's Got Talent Keynote
Developer's Got Talent Keynote
 
Innovation in Information Technology
Innovation in Information TechnologyInnovation in Information Technology
Innovation in Information Technology
 
PiTechnologies in cloud computing
PiTechnologies in cloud computingPiTechnologies in cloud computing
PiTechnologies in cloud computing
 
Pi technologies meeting tips
Pi technologies meeting tipsPi technologies meeting tips
Pi technologies meeting tips
 
Arm processor architecture awareness session pi technologies
Arm processor architecture awareness session pi technologiesArm processor architecture awareness session pi technologies
Arm processor architecture awareness session pi technologies
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
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...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
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
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

SVN session from PiTechnologies

  • 1. SVN Organize your Code, files and even your life …Organize your Code, files and even your life … Mahmoud S. Khalifa
  • 2. Agenda ∗ What …. ? ∗ Why …. ? ∗ Vocabulary
  • 3. What….? Subversion (abbreviated SVN) is an open source version control system that facilitates source code development by multiple software developers
  • 4. SVN allows us to easily: ∗ maintain backups of source code ∗ automate deployment ∗ keep copies of every single version of the code ∗ prevents developers from overwriting each other's work. ∗ roll back to previous versions of code Why…. ?
  • 5. ∗ SVN : abbreviation for subversion ∗ Conflict: Two competing versions of the same file ∗ Working Folder: Folder (local or server) that you check out the code to in order to edit ∗ Prev: The revision immediately before the last revision in which an item changed. Technically, this boils down to COMMITTED#1. Vocabulary
  • 6. BASE revision This is the revision the file or folder was in, when the last checkout, update or commit was run . Vocabulary
  • 7. Branch You can create a branch off the main development line so as to develop a new feature without rendering the main line unstable. Or you can branch a stable release to which you make only bugfixes, while new developments take place on the unstable trunk. In Subversion a branch is implemented as a “cheap copy”. Vocabulary
  • 8. Blame This command is for text files only, and it annotates every line to show the repository revision in which it was last changed, and the author who made that change. Our GUI implementation is called TortoiseBlame and it also shows the commit date/time and the log message when you hover the mouse of the revision number. Vocabulary
  • 9. Commit This Subversion command is used to pass the changes in your local working copy back into the repository, creating a new repository revision. Vocabulary
  • 10. Checkout A Subversion command which creates a local working copy in an empty directory by downloading versioned files from the repository. Vocabulary
  • 11. COPY In a Subversion repository you can create a copy of a single file or an entire tree. These are implemented as “cheap copies” which act a bit like a link to the original in that they take up almost no space. Making a copy preserves the history of the item in the copy, so you can trace changes made before the copy was made. Vocabulary
  • 12. Export This command produces a copy of a versioned folder, just like a working copy, but without the local .svn folders. Vocabulary
  • 13. FSFS FS File system. A proprietary Subversion file system backend for repositories. Can be used on network shares. Default for 1.2 and newer repositories. Vocabulary
  • 14. Diff Shorthand for “Show Differences”. Very useful when you want to see exactly what changes have been made. Vocabulary
  • 15. HEAD revision The latest revision of a file or folder in the repository. Vocabulary
  • 16. Patch If a working copy has changes to text files only, it is possible to use Subversion's Diff command to generate a single file summary of those changes in Unified Diff format. A file of this type is often referred to as a “Patch”, and it can be emailed to someone else (or to a mailing list) and applied to another working copy. Someone without commit access can make changes and submit a patch file for an authorized committer to apply. Or if you are unsure about a change you can submit a patch for others to review. Vocabulary
  • 17. Merge The process by which changes from the repository are added to your working copy without disrupting any changes you have already made locally. Sometimes these changes cannot be reconciled automatically and the working copy is said to be in conflict. Merging happens automatically when you update your working copy. You can also merge specific changes from another branch using TortoiseSVN's Merge command. Vocabulary
  • 18. Switch Just as “Update-to-revision” changes the time window of a working copy to look at a different point in history, so “Switch” changes the space window of a working copy so that it points to a different part of the repository. It is particularly useful when working on trunk and branches where only a few files differ. You can switch your working copy between the two and only the changed files will be transferred. Vocabulary
  • 19. Update This Subversion command pulls down the latest changes from the repository into your working copy, merging any changes made by others with local changes in the working copy. Vocabulary
  • 20. Working Copy This is your local “sandbox”, the area where you work on the versioned files, and it normally resides on your local hard disk. You create a working copy by doing a “Checkout” from a repository, and you feed your changes back into the repository using “Commit”. Vocabulary
  • 21. Property In addition to versioning your directories and files, Subversion allows you to add versioned metadata - referred to as “properties” to each of your versioned directories and files. Each property has a name and a value, rather like a registry key. Subversion has some special properties which it uses internally, such as svn:eol-style. TortoiseSVN has some too, such as tsvn:logminsize. You can add your own properties with any name and value you choose Vocabulary
  • 22. Import Subversion command to import an entire folder hierarchy into the repository in a single revision. Vocabulary
  • 23. Relocate If your repository moves, perhaps because you have moved it to a different directory on your server, or the server domain name has changed, you need to “relocate” your working copy so that its repository URLs point to the new location. Note: you should only use this command if your working copy is referring to the same location in the same repository, but the repository itself has moved. In any other circumstance you probably need the “Switch” command instead. Vocabulary
  • 24. Revision Every time you commit a set of changes, you create one new “revision” in the repository. Each revision represents the state of the repository tree at a certain point in its history. If you want to go back in time you can examine the repository as it was at revision N. Vocabulary
  • 25. Lock When you take out a lock on a versioned item, you mark it in the repository as uncommittable, except from the working copy where the lock was taken out. Vocabulary
  • 26. Cleanup To quote from the Subversion book: “ Recursively clean up the working copy, removing locks and resuming unfinished operations. If you ever get a working copy locked error, run this command to remove stale locks and get your working copy into a usable state again. ” Note that in this context “lock” refers to local file system locking, not repository locking. Vocabulary
  • 27.
  • 28. ∗ To tag each commit to a Bug ID, you can set one these one of these properties while configuring Subversion :- ∗ bugtraq:url : Set this property to the url of your bugtracking tool. It must be properly URI encoded and it has to contain %BUGID% ∗ http://issues.tortoisesvn.net/?do=details&id=%BUGID% Integration with Bug Tracking
  • 29. ∗ bugtraq:warnifnoissue ∗ Set this to true, if you want TortoiseSVN to warn you because of an empty issuenumber textfield. Valid values are true/false. If not defined, false is assumed. Integration with bug tracking
  • 30. ∗ bugtraq:message ∗ This property activates the Bugtracking System in Input field mode. If this property is set, then TortoiseSVN will prompt you to enter an issue number when you commit your changes Integration with Bug Tracking
  • 31. ∗ bugtraq:logregex ∗ This property activates the Bugtracking System in Regex mode. It contains one or two regular expressions, separated by a newline ∗ If only one expression is set, then the bare bug ID's must be matched in the groups of the regex string. Example: [Ii]ssue(?:s)? #?(d+) Integration with Bug Trackers
  • 32.
  • 33. Facebook Group: Embedded in PiTechnologies Facebook Page: PiTechnologies.page Thanks