0% found this document useful (0 votes)
33 views

Source Version Control Using Subversion by Mangesh Bhujbal

Subversion is a centralized version control system that allows multiple users to work on a codebase concurrently. It maintains snapshots of the code repository and provides continuous incremental backups. Developers checkout code from the Subversion repository to a local working copy where they can make edits. After committing changes back to the repository, they can update their local copy or revert to older versions of the code. Subversion uses both command line tools and graphical user interfaces like TortoiseSVN. The repository contains branches for staging and production code as well as tags for labeled releases.

Uploaded by

mdbhujbal
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

Source Version Control Using Subversion by Mangesh Bhujbal

Subversion is a centralized version control system that allows multiple users to work on a codebase concurrently. It maintains snapshots of the code repository and provides continuous incremental backups. Developers checkout code from the Subversion repository to a local working copy where they can make edits. After committing changes back to the repository, they can update their local copy or revert to older versions of the code. Subversion uses both command line tools and graphical user interfaces like TortoiseSVN. The repository contains branches for staging and production code as well as tags for labeled releases.

Uploaded by

mdbhujbal
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Source Version Control using Subversion

Compiled By: Mangesh Bhujbal

Why Source Version Control?


Allows many people to work concurrently on a codebase. Maintains snapshots of the code repository. Continuous incremental backup. Ability to recall older code.

What are the Source Version Control Softwares?


Subversion Git Mercurial Bazaar Visual SourceSafe Team Foundation Server Many more.

Subversion (Centralized Repository)

Working Copy 1
(Checked out from Trunk)

Staging Working Copy


(Checked out from Staging branch)

Subversion Repository

Working Copy 2
(Checked out from Trunk)

Production Working Copy


(Checked out from Production branch)

Subversion Workflow
Developers checkout code from the repository to a local workingcopy. After making edits in working copy, they commit the changes to the repository. At any point, they can revert to an older version of the codebase. They update their local working copy frequently to keep up with changes. In case of conflict, then resolve the conflict.

Subversion Tools
Command Line
sudo apt-get install subversion libapache2-svn svnadmin create /path/to/repos/project Edit /conf/svnserve.conf file and menion the passwd file to be used for authentication, & disallow anonymous access sudo svnserve -d -r /path/to/repos svn co svn://IP-Address/path/to/repos/project/trunk/ test_checkout/ -username user_name svn update svn status svn commit --message "Add a few more things"

Subversion Tools
GUI
TortoiseSVN
Right-click a directory and get a context-menu with everything in there.

Project Layout
trunk/
This is the main working branch.

branches/
In this folder we will have two branches for Staging and Production.

tags/
Whenever we do release, we will label the trunk code and store it in this folder.

Note: The basic differences between Branch & Tag is, on Tag we are not suppose to work, it is a snapshot and on Branch we can work and later merger it with main branch

Best Practices
Take svn update often to avoid the conflict. Do not commit the config file in the repository. Do not copy the working copy folders as it is to other working copy. Check-in the DB scripts as well. For deleting/renaming files/folders use TortoiseSVN context menu. While committing any changes compare it first and then commit.

Demo Q&A

You might also like