SVN Subversion A brief overview - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

SVN Subversion A brief overview

Description:

Because people had no choice but CVS! ... Match CVS's features and preserve the same development model - Make it similar, so that any CVS user could switch to ... – PowerPoint PPT presentation

Number of Views:248
Avg rating:3.0/5.0
Slides: 11
Provided by: csTor
Category:

less

Transcript and Presenter's Notes

Title: SVN Subversion A brief overview


1
SVN (Subversion)A brief overview?
2
Why people use a version control system?
  • The main benefit of using a version control
    system is that it is to allows people to share
    open source projects with ensuring changes made
    by one developer are not accidentally removed or
    altered when another developer posts their
    changes to the projects

3
What is SVN?
  • SVN or Subversion is a Software Engineering tool
    which is used by many software developers to
    maintain changes within their source code tree.
  • SVN is popular in the open source community and
    used by many open source project, such as Apache
    Software Foundation, KDE, GNOME, Python, and
    etc.
  • SVN runs on all modern flavours of UNIX, Win32,
    BeOS, OS/2, and MacOS X

4
SVNs History
  • In early 2000, CollabNet Inc. tried to write a
    replacement for CVS because of its limitation.
  • Bad News for them! CVS had become the de facto
    standard in the open source world! Why? Because
    people had no choice but CVS!
  • CollabNet determined to write a new version
    control system from scratch! BUT based on CVS and
    using CVS
  • Their objectives- Maintain version control
    methodology- Match CVSs features and preserve
    the same development model- Make it similar, so
    that any CVS user could switch to it with little
    effort
  • Finally, in August 2001 Subversion became free
    from CVS!!!

5
Features of SVN
  • Directory versioning- SVN implements a virtual
    file system which tracks changes to whole
    directory trees over time
  • True version history- can add, delete, copy, and
    rename BOTH files and directories.
  • Atomic commits- prevent problems that can occur
    when only a portion of a set of changes is
    successfully sent to the repository. Revision
    numbers are per-commit, not per-file log
    messages are attached to the revision, not stored
    redundantly as in CVS.
  • Versioned metadata- metadata of files and
    directories can also be versioned.
  • Choice of network layers- Multiple repository
    access protocols HTTP and HTTPS (Apache network
    server option, with WebDAV/DeltaV protocol)?

6
Features of SVN (Continued)?
  • Consistent data handling- Using a binary
    differencing algorithm, works on both text and
    binary files. File differences are transmitted in
    both directions across the network (client
    repository server)?
  • Efficient branching and tagging- create branches
    and tags by copying projects (like hard-link),
    take a small amount of time
  • Hackability- implemented as a collection of
    shared C libraries. Extremely maintainable and
    usable by other applications and languages.

7
SVN vs. CVS
  • CVS
  • Pros- widely used, well documented- supported
    everywhere
  • Cons- allows to commit only files- slower-
    intended to store text data, require
    specialinformation for other types of files
  • SVN
  • Pros- versioned renames, moves of BOTH files and
    directories- overall revision number easier
    vesioning and regression testing- prevent
    accidental committing of conflicted files-
    support for custom diff command
  • Cons- need twice much space than CVS- no
    rollback of commit need to store good repository
    state to overwrite bad commit- not widely used,
    more implementation is need

8
Subversions architecture
  • On one end is a Subversion repository that holds
    all of your versioned data. On the other end is
    your Subversion client program, which manages
    local reflections of portions of that versioned
    data (called working copies). Between these
    extremes are multiple routes through various
    Repository Access (RA) layers. Some of these
    routes go across computer networks and through
    network servers which then access the repository.
    Others bypass the network altogether and access
    the repository directly.

9
SVNs current problems
  • SVN does not have built-in tools which allow
    permanent edits to the repository simply. Get
    around dump the repository, editing the result
    text file, and then recreate the repository.
  • Rename operation Use copy and delete, but still
    use the same name in the older revisions.
    Confusion would occur if one uses the old name to
    create a new file and commit it to the
    repository.
  • Subversion does not currently implement any
    obliterate functionality to completely remove a
    file from the repository and reclaim disk space
  • Subversion stores additional copies of data on
    the local machine, which can be an issue for very
    large projects or files, or if developers are
    working on multiple branches simultaneously

10
More Info?
  • There is a simple explanation of SVN on Wikipedia
    ?
  • SVN official webpage http//subversion.tigris.or
    g/
  • SVN documentation http//svnbook.red-bean.com/
  • CVS to SVN Crossover Guide http//svn.collab.net
    /repos/svn/trunk/doc/user/cvs-crossover-guide.html
  • Subversion in GNOME http//developer.gnome.org/t
    ools/svn.html
  • SVN Tutorial sites http//artis.imag.fr/Xavier.
    Decoret/resources/svn/index.htmlhttp//www.german
    e-software.com/ser/Files/Software/svntutorial.htm
    l
Write a Comment
User Comments (0)
About PowerShow.com