introduction to subversion

17
         Introduction To Subversion” Introduction To Subversion”                       Open Source Version Control System Open Source Version Control System                                           ( Beginner Level) ( Beginner Level)

Upload: atul-jha

Post on 03-Dec-2014

2.603 views

Category:

Documents


1 download

DESCRIPTION

The presen

TRANSCRIPT

   

        ““Introduction To Subversion” Introduction To Subversion”                       Open Source Version Control SystemOpen Source Version Control System                                          ( Beginner Level)( Beginner Level)

   

What Will I Cover In This PresentationWhat Will I Cover In This Presentation

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

   

Introduction To Version Control Introduction To Version Control SystemSystemwhat is version control system?what is version control system?

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

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

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

d).Each revision is associated with a timestamp and the person d).Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with making the change. Revisions can be compared, restored, and with some types of files, merged.some types of files, merged.

   

Why Do We Need Version Control SystemWhy Do We Need Version Control Systema).coders from all over world contributing on a single project at same time.a).coders from all over world contributing on a single project at same time.b).Monitoring is needed.b).Monitoring is needed.c).Managing maintaining codes becomes easy.c).Managing maintaining codes becomes easy.

   

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

b).Its goal is to be a mostly­compatible successor to the widely used b).Its goal is to be a mostly­compatible successor to the widely used Concurrent Versions System (CVS).Concurrent Versions System (CVS).

Who Uses SubversionWho Uses SubversionSubversion is well­known in the open source community and is used Subversion is well­known in the open source community and is used on many open source projects, including on many open source projects, including 1.Apache Software Foundation1.Apache Software Foundation2.Free Pascal2.Free Pascal3.FreeBSD3.FreeBSD4.GCC4.GCC5.Python5.Python6.Django6.Django                                                          Many more .....Many more .....

   

                   Using SubversionUsing Subversion

Subversion is a centralized system for sharing information.Subversion is a centralized system for sharing information.

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

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

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

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

 

   

  Subversion Client/Server ArchitectureSubversion Client/Server Architecture

   

        The Problem of File SharingThe Problem of File Sharing

How will the system allow users to share information, but How will the system allow users to share information, but prevent them from accidentally stepping on eachprevent them from accidentally stepping on eachother's feet? other's feet? 

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

   

                            The problem to avoidThe problem to avoid

   

File Sharing Problem SolutionFile Sharing Problem Solution

a).The Lock­Modify­Unlock Solutiona).The Lock­Modify­Unlock Solution

b).The Copy­Modify­Merge Solutionb).The Copy­Modify­Merge Solution

   

The Copy­Modify­Merge SolutionThe Copy­Modify­Merge Solution

Each user's client contacts the project reposit­Each user's client contacts the project reposit­ory and creates a personal working copy.ory and creates a personal working copy.

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

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

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

   

   

   

Subversion in ActionSubversion in Action

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

   

            “What Have I Skipped”

➔Advance SVN commands

➔Basic SVN directory Heirarchy

   

References :­­References :­­

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

                                                                                                                      

                            

   

Thanks For Thanks For ListeningListening  “Have a Great Day Ahead”“Have a Great Day Ahead”