Subversion (SVN)
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,320
On Slideshare
5,305
From Embeds
15
Number of Embeds
2

Actions

Shares
Downloads
228
Comments
0
Likes
5

Embeds 15

http://www.slideshare.net 14
http://192.168.10.25 1

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. SUBVERSION (SVN) By: Saurabh Saxena & Arunima Goswami
  • 2. INTRODUCTION
    • Subversion is an open source version control system. It allows users to keep track of changes made over time to any type of electronic data; typical uses are versioning source code, web pages or design documents.
    • The project was initiated in 2000 by CollabNet Inc.
    • The company is still involved with Subversion but the project is run as an independent open source community.
    • The home of Subversion is on Tigris.org , an open source community dedicated to software engineering tools.
    • According to CIA.vc (an open source reporting web site), Subversion has surpassed CVS in open source projects.
  • 3. FEATURES
    • ·         Versioning of symbolic links .
    • ·         Native support for binary files, with space-efficient binary-diff storage.
    • ·         Apache HTTP server as network server, WebDAV / DeltaV for protocol .
    • ·         Branching and tagging are cheap ( constant time ) operations.
    • ·         Costs are proportional to change size, not data size.
    • ·         File locking for unmergeable files ("reserved checkouts").
    • ·         Python , Ruby , Perl , and Java language bindings .
    • ·         Full MIME support - the MIME Type of each file can be viewed or changed.
    • ·         Commits are truly atomic operations. Interrupted commit operations do not cause repository inconsistency or corruption.
    • ·         Renamed/copied/moved/removed files retain full revision history.
    • ·         Directories, renames, and file metadata are versioned. Entire directory trees can be moved around and/or copied very quickly, and retain full revision history.
  • 4. REPOSITORY ACCESS
    •        
    • Local filesystem or network filesystem, accessed by client directly.
    • WebDAV/DeltaV (over http or https) using the mod_dav_svn module for Apache 2 .
    •       
    • Custom "svn" protocol (default port 3690), using plaintext or over SSH .
  • 5. LAYERS
    • Subversion is composed internally of several libraries arranged as layers . It basically consists of 5 layers :-
    • Fs 
    • The lowest level; it implements the versioned filesystem which stores the
    • user data.
    • Repos    
    • Concerned with the repository built up around the filesystem.
    • Handles various ‘hooks’.
    • mod_dav_svn 
    • Provides WebDAV /DeltaV access through Apache 2.
    •  
  • 6. LAYERS Contd. Ra    Handles "repository access", both local and remote. Repositories are referred to using URLs, i.e.   file:///path/ for local access, http://host/path/ (or https) for WebDAV access svn://host/path/ (or svn+ssh) for the SVN protocol.   Client, Wc  The highest level. It abstracts repository access It provides common client tasks, e.g authenticating the user, or comparing versions. The Wc library is used by Client to manage the local working copy.
  • 7. FILE SYSTEM
    • Three-dimensional system.
    • Each revision has its own root .
    • Uses transactions to keep changes atomic .
    • The transaction is a long-lived file system object
  • 8. PROPERTIES
    • Name = value pairs of text
    • Prefixes with 'svn:'.
    • Used in two different places in the Subversion file system namely:-
    • Files and Directories
    • svn:executable  
    • Makes files on Unix -hosted working copies executable.
    • svn:ignore
    • A list of filename patterns to ignore in a directory .
    • svn:keywords  
    •   A list of keywords to substitute into a file when changes are made.
    • svn:needs-lock  
    •   Specifies that a file needs an explicit lock.
    • Revisions
    • svn:date   , svn:author  , svn:log  
  • 9. BRANCHING AND TAGGING
    • SVN basically consists of three kinds of directories:-
        • Project/
          • Trunk/
          • Branches/
          • Tags/
    • Branches ot tags are created with the svn copy command.
  • 10. CURRENT ISSUES
    • Rename operation.
    • Lacks proper repository administration and management tools.
    • Subversion does not have tools which allow permanent changes. The current solution to this sort of problem involves 'dumping' the repository, editing the resulting (possibly large) text file, and then recreating the repository