• Like
Source version control using subversion
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Source version control using subversion

  • 138 views
Published

Source version control using subversion

Source version control using subversion

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
138
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
5
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Source Version Control using Subversion Compiled By: Mangesh Bhujbal
  • 2. 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.
  • 3. What are the Source Version Control Softwares? • Subversion • Git • Mercurial • Bazaar • Visual SourceSafe • Team Foundation Server • Many more….
  • 4. Subversion (Centralized Repository) Working Copy 1 Staging Working Copy (Checked out from Trunk) (Checked out from Staging branch) Subversion Repository Working Copy 2 (Checked out from Trunk) Production Working Copy (Checked out from Production branch)
  • 5. 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.
  • 6. 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"
  • 7. Subversion Tools • GUI • TortoiseSVN • Right-click a directory and get a context-menu with everything in there.
  • 8. 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
  • 9. 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.
  • 10. • Demo •Q&A