KEMBAR78
Introduction to Subversion | PDF
        “Introduction To Subversion” 
            
       Open Source Version Control System
      
                       ( Beginner Level)



                        
What Will I Cover In This Presentation

1.Introduction To Version Control System.
2.Why Do We need a Version Control System.
3.About Subversion
4.Using Subversion with User Prospective.
5.Live Demo
6.Q and A 




                               
Introduction To Version Control 
    System
    what is version control system?

    a).Version control system is the management of changes to 
    documents, programs, and other information stored as computer files. 

    b).It is most commonly used in software development, where a team 
    of people may be changing the same files. 

    c).Changes are usually identified by a number or letter code, termed 
    the "revision number", "revision level", or simply "revision". For 
    example, an initial set of files is "revision 1". When the first change is 
    made, the resulting set is "revision 2", and so on.

                                        
    d).Each revision is associated with a timestamp and the person 
    making the change. Revisions can be compared, restored, and with 
Why Do We Need Version Control System
a).coders from all over world contributing on a single project at same time.
b).Monitoring is needed.
c).Managing maintaining codes becomes easy.




                                      
About “Subversion”
a). It is used to maintain current and historical versions of files such 
as source code, web pages, and documentation. 

b).Its goal is to be a mostly­compatible successor to the widely used 
Concurrent Versions System (CVS).
Who Uses Subversion
Subversion is well­known in the open source community and is used 
on many open source projects, including 
1.Apache Software Foundation
2.Free Pascal
3.FreeBSD
4.GCC
5.Python
6.Django
                             Many more .....  
      
                   Using Subversion
Subversion is a centralized system for sharing information.

At its core is a repository, which is a central store of data. 

The repository stores information in the form of a filesystem  
tree—a typical 
hierarchy of files and directories. 

Any number of clients connect to the repository, and then 
read or write to these files. 

By writing data, a client makes the information available to 
others; by reading data, the client receives information from 
others. 

                                       
Subversion Client/Server Architecture
  




                    
    The Problem of File Sharing
    How will the system allow users to share information, but 
    prevent them from accidentally stepping on each
    other's feet? 

    It's all too easy for users to accidentally overwrite each 
    other's changes in the
    Repository.




                                      
              The problem to avoid




                        
File Sharing Problem Solution

    a).The Lock­Modify­Unlock Solution

    b).The Copy­Modify­Merge Solution




                        
The Copy­Modify­Merge Solution
Each user's client contacts the project reposit­
ory and creates a personal working copy.

A local reflection of the repository's files and directories. 

Users then work simultaneously and independently, 
modifying their private copies.

Finally, the private copies are merged together into a new, 
final version. 


                                  
     
     
Subversion in Action
    $ svn checkout http://192.100.100.40/svn/repos/
    $ svn add ( a file/directory)
    $svn delete
    $ svn commit
    $svn update
    $svn mv(move)
    $svn help
    $svn diff
    $svn revert
    $svn list

                              
            “What Have I Skipped”


    Advance SVN commands
    ➔




    Basic SVN directory Heirarchy
    ➔




                           
References :­­

    1.http://www.wikipedia.org
    2.http://www.svnbook.red­bean.com/

                                                               




                                




                                                  
                              
    Thanks For Listening “Have a Great Day Ahead”

Introduction to Subversion