ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Introduction to Subversion (SVN) Presented by Waqqas Jabbar 1 st  January 2009
Questions What do you know about Version Control ? What do you know about CVS? What do you know about SVN ?
Version Control Maintaining different versions of a file Version Control system records changes in File Addition Removal Modification Directory Addition Removal Modification Vital for any software project of any reasonable size
Version Control Client-Server architecture Server maintains the version of files Everyone that is working on the file gets a local copy on his/her system (CHECK-OUT) He/she changes the local copy He/she uploads the changes on the server ( CHECK-IN or COMMIT) Others merge the changes on the server with their local copy (UPDATE)
Typical Usage Flow User1 gets File1 from Server (CHECK-??) S->[V0], U1->[V0] User2 gets File1 from Server (CHECK-???) S->[V0], U2->[V0] Both users make changes in File1 S->[V0] User1 uploads his changes on the server (CHECK-??) S->[V1], U1->[V1], U2->[V0] User2 merges her changes in local copy with server (UPDATE) S->[V1], U1->[V1], U2->[V1]
Installation Its already installed :) Common utilities svnadmin – Administration utility svn - Client svnserve - Server svnversion – Client utility to get current version number Sum more utilities
Configuration - Basic Starting service cp svn /etc/init.d (svn script provided) ln -s /etc/rc5.d/S61svn /etc/init.d/svn ln -s /etc/rc6.d/K51svn /etc/init.d/svn Edit /etc/init.d/svn (change /opt/svn with the path of the repository) service svn start Setting repository svnadmin create -fs-type fsfs /opt/svn /opt/svn will contain all the svn related files Better to have /opt/svn in another partition Easy to recover in case of crash
Configuration - Basic Configuration vi svnserve.conf password-db=passwd Authz-db=authz
Configuration - Adding a new user cd /opt/svn/conf vi passwd Add username=password
Configuration - Setup authorization Cd /opt/svn/conf Vi authz Add groups Team1=user1,user2 Team2=user3,user4 Define authorization on different groups Team1 = rw * = r
Importing a project cd project_root_dir svn import . svn://localhost/proj3
Checking out Svn checkout svn://localhost/proj3 –username user1
Updating a project svn update Current directory and its subdirectories will be updated
Conflict Management Conflict occur if two user change the same line in the same file Conflict can occur during update and commit Both changes are present in the file with conflict How to remove conflict Edit the file with the required changes svn resolved file_name
Getting current status svn status A – File added in local copy but need to uploaded to the server M - File modified in local copy but need to uploaded to the server D - File deleted from local copy but need to uploaded to the server ? - File not in version control
Deleting file svn rm file_name
Thank You

More Related Content

What's hot (15)

Linux commands
Linux commandsLinux commands
Linux commands
Hemakumar.S
Ìý
Partners Enterprise Caché Unix Migration Public
Partners Enterprise Caché Unix Migration PublicPartners Enterprise Caché Unix Migration Public
Partners Enterprise Caché Unix Migration Public
walterhalvorsen
Ìý
Basic Linux kernel
Basic Linux kernelBasic Linux kernel
Basic Linux kernel
Morteza Nourelahi Alamdari
Ìý
Git Version Control for the Complete N00b by Adam LaBarge
Git Version Control for the Complete N00b by Adam LaBargeGit Version Control for the Complete N00b by Adam LaBarge
Git Version Control for the Complete N00b by Adam LaBarge
East Bay WordPress Meetup
Ìý
Kernel compilation
Kernel compilationKernel compilation
Kernel compilation
mcganesh
Ìý
M3 nfs fs-3.2.1
M3 nfs fs-3.2.1M3 nfs fs-3.2.1
M3 nfs fs-3.2.1
MrudulaJoshi10
Ìý
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
Ìý
Linuxdd[1]
Linuxdd[1]Linuxdd[1]
Linuxdd[1]
mcganesh
Ìý
02 t1 s2_linux_lesson2
02 t1 s2_linux_lesson202 t1 s2_linux_lesson2
02 t1 s2_linux_lesson2
Niit Care
Ìý
Linux file commands and shell scripts
Linux file commands and shell scriptsLinux file commands and shell scripts
Linux file commands and shell scripts
PrashantTechment
Ìý
Implementation of FIFO in Linux
Implementation of FIFO in LinuxImplementation of FIFO in Linux
Implementation of FIFO in Linux
Tushar B Kute
Ìý
Synchronization
SynchronizationSynchronization
Synchronization
misra121
Ìý
Linux commands
Linux commandsLinux commands
Linux commands
Mannu Khani
Ìý
T-Shell (TCSH)
T-Shell (TCSH)T-Shell (TCSH)
T-Shell (TCSH)
Yash Mahendra
Ìý
Linux commands
Linux commandsLinux commands
Linux commands
Balakumaran Arunachalam
Ìý
Linux commands
Linux commandsLinux commands
Linux commands
Hemakumar.S
Ìý
Partners Enterprise Caché Unix Migration Public
Partners Enterprise Caché Unix Migration PublicPartners Enterprise Caché Unix Migration Public
Partners Enterprise Caché Unix Migration Public
walterhalvorsen
Ìý
Git Version Control for the Complete N00b by Adam LaBarge
Git Version Control for the Complete N00b by Adam LaBargeGit Version Control for the Complete N00b by Adam LaBarge
Git Version Control for the Complete N00b by Adam LaBarge
East Bay WordPress Meetup
Ìý
Kernel compilation
Kernel compilationKernel compilation
Kernel compilation
mcganesh
Ìý
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
Ìý
Linuxdd[1]
Linuxdd[1]Linuxdd[1]
Linuxdd[1]
mcganesh
Ìý
02 t1 s2_linux_lesson2
02 t1 s2_linux_lesson202 t1 s2_linux_lesson2
02 t1 s2_linux_lesson2
Niit Care
Ìý
Linux file commands and shell scripts
Linux file commands and shell scriptsLinux file commands and shell scripts
Linux file commands and shell scripts
PrashantTechment
Ìý
Implementation of FIFO in Linux
Implementation of FIFO in LinuxImplementation of FIFO in Linux
Implementation of FIFO in Linux
Tushar B Kute
Ìý
Synchronization
SynchronizationSynchronization
Synchronization
misra121
Ìý
Linux commands
Linux commandsLinux commands
Linux commands
Mannu Khani
Ìý
T-Shell (TCSH)
T-Shell (TCSH)T-Shell (TCSH)
T-Shell (TCSH)
Yash Mahendra
Ìý

Similar to Introduction To SVN (20)

Subversion 101: A short introduction to Subversion
Subversion 101: A short introduction to SubversionSubversion 101: A short introduction to Subversion
Subversion 101: A short introduction to Subversion
Vu Hung Nguyen
Ìý
Subversion on .Unix
Subversion on .UnixSubversion on .Unix
Subversion on .Unix
Trong Dinh
Ìý
SVN Tutorial
SVN TutorialSVN Tutorial
SVN Tutorial
enggHeads
Ìý
Totalsvn Usage And Administration By Gopi
Totalsvn Usage And Administration By GopiTotalsvn Usage And Administration By Gopi
Totalsvn Usage And Administration By Gopi
gopinathkarangula
Ìý
Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP Developers
Lorna Mitchell
Ìý
ClearCase Basics
ClearCase BasicsClearCase Basics
ClearCase Basics
Abhishek Srivastava
Ìý
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version Control
Jeremy Coates
Ìý
Disabling windows file protection
Disabling windows file protectionDisabling windows file protection
Disabling windows file protection
Jhonathansmrt Smart
Ìý
Subversion
SubversionSubversion
Subversion
Murtaza Abbas
Ìý
Getting Started With Subversion
Getting Started With SubversionGetting Started With Subversion
Getting Started With Subversion
Jordan Hatch
Ìý
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
Ìý
Clear case
Clear caseClear case
Clear case
Rahul Keshri
Ìý
FlashInTO SVN Presentation
FlashInTO SVN PresentationFlashInTO SVN Presentation
FlashInTO SVN Presentation
Matthew Fabb
Ìý
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
Ashraf Fouad
Ìý
Version control with Subversion
Version control with SubversionVersion control with Subversion
Version control with Subversion
O. R. Kumaran
Ìý
Introduction to Subversion
Introduction to SubversionIntroduction to Subversion
Introduction to Subversion
Atul Jha
Ìý
subversion.ppt
subversion.pptsubversion.ppt
subversion.ppt
TahaKhayyam
Ìý
Subversion
SubversionSubversion
Subversion
thebdot1
Ìý
Version Control With CVS
Version Control With CVSVersion Control With CVS
Version Control With CVS
Rajesh Kumar
Ìý
Version Control
Version ControlVersion Control
Version Control
Kivanc Kanturk
Ìý
Subversion 101: A short introduction to Subversion
Subversion 101: A short introduction to SubversionSubversion 101: A short introduction to Subversion
Subversion 101: A short introduction to Subversion
Vu Hung Nguyen
Ìý
Subversion on .Unix
Subversion on .UnixSubversion on .Unix
Subversion on .Unix
Trong Dinh
Ìý
SVN Tutorial
SVN TutorialSVN Tutorial
SVN Tutorial
enggHeads
Ìý
Totalsvn Usage And Administration By Gopi
Totalsvn Usage And Administration By GopiTotalsvn Usage And Administration By Gopi
Totalsvn Usage And Administration By Gopi
gopinathkarangula
Ìý
Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP Developers
Lorna Mitchell
Ìý
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version Control
Jeremy Coates
Ìý
Disabling windows file protection
Disabling windows file protectionDisabling windows file protection
Disabling windows file protection
Jhonathansmrt Smart
Ìý
Getting Started With Subversion
Getting Started With SubversionGetting Started With Subversion
Getting Started With Subversion
Jordan Hatch
Ìý
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
Ìý
FlashInTO SVN Presentation
FlashInTO SVN PresentationFlashInTO SVN Presentation
FlashInTO SVN Presentation
Matthew Fabb
Ìý
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
Ashraf Fouad
Ìý
Version control with Subversion
Version control with SubversionVersion control with Subversion
Version control with Subversion
O. R. Kumaran
Ìý
Introduction to Subversion
Introduction to SubversionIntroduction to Subversion
Introduction to Subversion
Atul Jha
Ìý
subversion.ppt
subversion.pptsubversion.ppt
subversion.ppt
TahaKhayyam
Ìý
Subversion
SubversionSubversion
Subversion
thebdot1
Ìý
Version Control With CVS
Version Control With CVSVersion Control With CVS
Version Control With CVS
Rajesh Kumar
Ìý

More from Waqqas Jabbar (14)

Introduction to react native @ TIC NUST
Introduction to react native @ TIC NUSTIntroduction to react native @ TIC NUST
Introduction to react native @ TIC NUST
Waqqas Jabbar
Ìý
Jump into React-Native (Class 6)
Jump into React-Native  (Class 6)Jump into React-Native  (Class 6)
Jump into React-Native (Class 6)
Waqqas Jabbar
Ìý
Jump into React-Native (Class 5)
Jump into React-Native  (Class 5)Jump into React-Native  (Class 5)
Jump into React-Native (Class 5)
Waqqas Jabbar
Ìý
Jump into React-Native (Class 4)
Jump into React-Native  (Class 4)Jump into React-Native  (Class 4)
Jump into React-Native (Class 4)
Waqqas Jabbar
Ìý
Jump into React Native (Class 3)
Jump into React Native  (Class 3)Jump into React Native  (Class 3)
Jump into React Native (Class 3)
Waqqas Jabbar
Ìý
Jump into React-Native (Class 2/6)
Jump into React-Native  (Class 2/6)Jump into React-Native  (Class 2/6)
Jump into React-Native (Class 2/6)
Waqqas Jabbar
Ìý
Jump into React-Native (Class 1)
Jump into React-Native (Class 1)Jump into React-Native (Class 1)
Jump into React-Native (Class 1)
Waqqas Jabbar
Ìý
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
Waqqas Jabbar
Ìý
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
Waqqas Jabbar
Ìý
Redux Saga - Under the hood
Redux Saga - Under the hoodRedux Saga - Under the hood
Redux Saga - Under the hood
Waqqas Jabbar
Ìý
Crud application using react native, redux and redux sagas
Crud application using react native, redux and redux sagasCrud application using react native, redux and redux sagas
Crud application using react native, redux and redux sagas
Waqqas Jabbar
Ìý
Makefile Generation From Autotools
Makefile Generation From AutotoolsMakefile Generation From Autotools
Makefile Generation From Autotools
Waqqas Jabbar
Ìý
Introduction To Makefile
Introduction To MakefileIntroduction To Makefile
Introduction To Makefile
Waqqas Jabbar
Ìý
Introduction To SVN
Introduction To SVNIntroduction To SVN
Introduction To SVN
Waqqas Jabbar
Ìý
Introduction to react native @ TIC NUST
Introduction to react native @ TIC NUSTIntroduction to react native @ TIC NUST
Introduction to react native @ TIC NUST
Waqqas Jabbar
Ìý
Jump into React-Native (Class 6)
Jump into React-Native  (Class 6)Jump into React-Native  (Class 6)
Jump into React-Native (Class 6)
Waqqas Jabbar
Ìý
Jump into React-Native (Class 5)
Jump into React-Native  (Class 5)Jump into React-Native  (Class 5)
Jump into React-Native (Class 5)
Waqqas Jabbar
Ìý
Jump into React-Native (Class 4)
Jump into React-Native  (Class 4)Jump into React-Native  (Class 4)
Jump into React-Native (Class 4)
Waqqas Jabbar
Ìý
Jump into React Native (Class 3)
Jump into React Native  (Class 3)Jump into React Native  (Class 3)
Jump into React Native (Class 3)
Waqqas Jabbar
Ìý
Jump into React-Native (Class 2/6)
Jump into React-Native  (Class 2/6)Jump into React-Native  (Class 2/6)
Jump into React-Native (Class 2/6)
Waqqas Jabbar
Ìý
Jump into React-Native (Class 1)
Jump into React-Native (Class 1)Jump into React-Native (Class 1)
Jump into React-Native (Class 1)
Waqqas Jabbar
Ìý
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
Waqqas Jabbar
Ìý
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
Waqqas Jabbar
Ìý
Redux Saga - Under the hood
Redux Saga - Under the hoodRedux Saga - Under the hood
Redux Saga - Under the hood
Waqqas Jabbar
Ìý
Crud application using react native, redux and redux sagas
Crud application using react native, redux and redux sagasCrud application using react native, redux and redux sagas
Crud application using react native, redux and redux sagas
Waqqas Jabbar
Ìý
Makefile Generation From Autotools
Makefile Generation From AutotoolsMakefile Generation From Autotools
Makefile Generation From Autotools
Waqqas Jabbar
Ìý
Introduction To Makefile
Introduction To MakefileIntroduction To Makefile
Introduction To Makefile
Waqqas Jabbar
Ìý
Introduction To SVN
Introduction To SVNIntroduction To SVN
Introduction To SVN
Waqqas Jabbar
Ìý

Introduction To SVN

  • 1. Introduction to Subversion (SVN) Presented by Waqqas Jabbar 1 st January 2009
  • 2. Questions What do you know about Version Control ? What do you know about CVS? What do you know about SVN ?
  • 3. Version Control Maintaining different versions of a file Version Control system records changes in File Addition Removal Modification Directory Addition Removal Modification Vital for any software project of any reasonable size
  • 4. Version Control Client-Server architecture Server maintains the version of files Everyone that is working on the file gets a local copy on his/her system (CHECK-OUT) He/she changes the local copy He/she uploads the changes on the server ( CHECK-IN or COMMIT) Others merge the changes on the server with their local copy (UPDATE)
  • 5. Typical Usage Flow User1 gets File1 from Server (CHECK-??) S->[V0], U1->[V0] User2 gets File1 from Server (CHECK-???) S->[V0], U2->[V0] Both users make changes in File1 S->[V0] User1 uploads his changes on the server (CHECK-??) S->[V1], U1->[V1], U2->[V0] User2 merges her changes in local copy with server (UPDATE) S->[V1], U1->[V1], U2->[V1]
  • 6. Installation Its already installed :) Common utilities svnadmin – Administration utility svn - Client svnserve - Server svnversion – Client utility to get current version number Sum more utilities
  • 7. Configuration - Basic Starting service cp svn /etc/init.d (svn script provided) ln -s /etc/rc5.d/S61svn /etc/init.d/svn ln -s /etc/rc6.d/K51svn /etc/init.d/svn Edit /etc/init.d/svn (change /opt/svn with the path of the repository) service svn start Setting repository svnadmin create -fs-type fsfs /opt/svn /opt/svn will contain all the svn related files Better to have /opt/svn in another partition Easy to recover in case of crash
  • 8. Configuration - Basic Configuration vi svnserve.conf password-db=passwd Authz-db=authz
  • 9. Configuration - Adding a new user cd /opt/svn/conf vi passwd Add username=password
  • 10. Configuration - Setup authorization Cd /opt/svn/conf Vi authz Add groups Team1=user1,user2 Team2=user3,user4 Define authorization on different groups Team1 = rw * = r
  • 11. Importing a project cd project_root_dir svn import . svn://localhost/proj3
  • 12. Checking out Svn checkout svn://localhost/proj3 –username user1
  • 13. Updating a project svn update Current directory and its subdirectories will be updated
  • 14. Conflict Management Conflict occur if two user change the same line in the same file Conflict can occur during update and commit Both changes are present in the file with conflict How to remove conflict Edit the file with the required changes svn resolved file_name
  • 15. Getting current status svn status A – File added in local copy but need to uploaded to the server M - File modified in local copy but need to uploaded to the server D - File deleted from local copy but need to uploaded to the server ? - File not in version control
  • 16. Deleting file svn rm file_name