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 introduction
Docker introductionDocker introduction
Docker introductioncawamata
 
Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3kognate
 
Docker use dockerfile
Docker use dockerfileDocker use dockerfile
Docker use dockerfilecawamata
 
Introduction to Subversion
Introduction to SubversionIntroduction to Subversion
Introduction to SubversionAtul Jha
 
Chef introduction
Chef introductionChef introduction
Chef introductioncawamata
 
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
 
Subversion Best Practices
Subversion Best PracticesSubversion Best Practices
Subversion Best PracticesMatt Wood
 
Building Images
Building ImagesBuilding Images
Building ImagesDawood M.S
 
Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP DevelopersLorna Mitchell
 
CONTINUOUS INTEGRATION && DOCKER
CONTINUOUS INTEGRATION && DOCKERCONTINUOUS INTEGRATION && DOCKER
CONTINUOUS INTEGRATION && DOCKERStfalcon Meetups
 
Subversion
SubversionSubversion
Subversionthebdot1
 
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 DeveloperJeffrey Kemp
 
Ansible automation tool with modules
Ansible automation tool with modulesAnsible automation tool with modules
Ansible automation tool with modulesmohamedmoharam
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.jsSu Zin Kyaw
 
DockerCon 18 docker storage
DockerCon 18 docker storageDockerCon 18 docker storage
DockerCon 18 docker storageDaniel Finneran
 

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

Arild Sundberg: Digitalisering og anskaffelsesområdet
Arild Sundberg: Digitalisering og anskaffelsesområdetArild Sundberg: Digitalisering og anskaffelsesområdet
Arild Sundberg: Digitalisering og anskaffelsesområdetOslo Business Region
 
Викторина
ВикторинаВикторина
Викторинаkoneqq
 
Korfbal na zakladni skole
Korfbal na zakladni skoleKorfbal na zakladni skole
Korfbal na zakladni skolegazelka
 
Ignify eCommerce methodology
Ignify eCommerce methodologyIgnify eCommerce methodology
Ignify eCommerce methodologyshankun banta
 
COMM 119-Production Planning
COMM 119-Production PlanningCOMM 119-Production Planning
COMM 119-Production Planningprofluther
 
通識小組報告 青森
通識小組報告 青森通識小組報告 青森
通識小組報告 青森Tziyu Yang
 
Intro To Virtual Comm Tag 111908
Intro To Virtual Comm Tag 111908Intro To Virtual Comm Tag 111908
Intro To Virtual Comm Tag 111908Erika Bjune
 
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 pagesBeijing Zeefer Consulting Ltd.
 
Eltek CK3S-ANN-VC
Eltek CK3S-ANN-VCEltek CK3S-ANN-VC
Eltek CK3S-ANN-VCsavomir
 
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
 
Foto premiazione (id)art_fest2011
Foto premiazione (id)art_fest2011Foto premiazione (id)art_fest2011
Foto premiazione (id)art_fest2011Alfonso Caputo
 
Shannon elari
Shannon elariShannon elari
Shannon elariselari
 
Artifact 1 Powerpoint
Artifact 1 PowerpointArtifact 1 Powerpoint
Artifact 1 Powerpointjrweathe
 
إضافة تعليق على الطقس
إضافة تعليق على الطقسإضافة تعليق على الطقس
إضافة تعليق على الطقس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

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 PresentationBradley Holt
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best PracticesAshraf Fouad
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best PracticesMaidul Islam
 
Subversion on .Unix
Subversion on .UnixSubversion on .Unix
Subversion on .UnixTrong Dinh
 
Subversion on .Unix
Subversion on .UnixSubversion on .Unix
Subversion on .UnixTrong Dinh
 
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 SOLabPablo Arriazu
 
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
 
Version Control Training - First Lego League
Version Control Training - First Lego LeagueVersion Control Training - First Lego League
Version Control Training - First Lego LeagueJeffrey T. Pollock
 
Version control with GIT
Version control with GITVersion control with GIT
Version control with GITZeeshan Khan
 
Version Control System
Version Control SystemVersion Control System
Version Control SystemTechAhead
 
SVN Tutorial
SVN TutorialSVN Tutorial
SVN TutorialenggHeads
 
Source version control using subversion
Source version control using subversionSource version control using subversion
Source version control using subversionMangesh Bhujbal
 
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
 

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

More from PiTechnologies

Entrepreneurship in a nutshell
Entrepreneurship in a nutshellEntrepreneurship in a nutshell
Entrepreneurship in a nutshellPiTechnologies
 
Mobile apps & digital marketing for restaurants
Mobile apps & digital marketing for restaurantsMobile apps & digital marketing for restaurants
Mobile apps & digital marketing for restaurantsPiTechnologies
 
Professional employee [PiTechnologies] v1.0
Professional employee [PiTechnologies] v1.0Professional employee [PiTechnologies] v1.0
Professional employee [PiTechnologies] v1.0PiTechnologies
 
10 Things Really Amazing Employees Do
10 Things Really Amazing Employees Do10 Things Really Amazing Employees Do
10 Things Really Amazing Employees DoPiTechnologies
 
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 meetingupPiTechnologies
 
Developer's got talent iPhone
Developer's got talent iPhoneDeveloper's got talent iPhone
Developer's got talent iPhonePiTechnologies
 
Developer's Got Talent Keynote
Developer's Got Talent KeynoteDeveloper's Got Talent Keynote
Developer's Got Talent KeynotePiTechnologies
 
Innovation in Information Technology
Innovation in Information TechnologyInnovation in Information Technology
Innovation in Information TechnologyPiTechnologies
 
PiTechnologies in cloud computing
PiTechnologies in cloud computingPiTechnologies in cloud computing
PiTechnologies in cloud computingPiTechnologies
 
Pi technologies meeting tips
Pi technologies meeting tipsPi technologies meeting tips
Pi technologies meeting tipsPiTechnologies
 
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 technologiesPiTechnologies
 

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

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Recently uploaded (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

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