Subversion for collaborative software engineering - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

Subversion for collaborative software engineering

Description:

Used by many open source projects. Client-Server approach. Clients for Linux, ... Merge 'merges' two revisions into one, e.g. at 'update' or to merge the ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 15
Provided by: na379
Category:

less

Transcript and Presenter's Notes

Title: Subversion for collaborative software engineering


1
Subversion for collaborative software engineering
  • Revision/Version Control System

Dan Kopparhed dank_at_kth.se
2
Version Control
  • Management of multiple revisions of
    information/data
  • Simple Keeping backups manually- Problems
  • Advanced Use a Version Control System, like
    Subversion (SVN)

3
Subversion (SVN)
  • Free software (Apache License)
  • Started in 2000 by CollabNet
  • Intended as successor to CVS
  • Used by many open source projects
  • Client-Server approach
  • Clients for Linux, Windows, etc
  • IDE integration

4
Basic Terminology
  • Repository storage at server
  • Trunk the main line of development
  • Branch a fork in development
  • Tag a snapshot of the development, e.g. a
    released version

5
SVN 3D Filesystem
6
Basic Terminology contd
  • Conflict when a change cannot be reconciled
    automatically
  • Resolve a user solves a conflict manually
  • Merge merges two revisions into one, e.g. at
    update or to merge the changes in a branch with
    the trunk.

7
SVN project example
8
Basic Terminology contd
  • Check-out get a local working copy from
    repository
  • Update update local working copy with changes
    in repository
  • Commit send changes to repository

9
Policies/Conventions
  • Repository structure (trunk, branches)
  • Trunk is always working
  • Atomic commits
  • Always write log messages
  • Be careful dont break history (rename, copy,
    move, etc)
  • Etc

10
Basic SVN usage
  • Helpsvn help
  • Checkoutsvn co https//svn1.ssvl.kth.se/repos/s
    tudent .- accept certificate, enter username/pw
  • Edit file/dir
  • Add file/dirsvn add Newfile
  • See what has changedsvn status
  • Commit changessvn commit -m Log message

11
Basic SVN usage contd
  • Update local working copysvn up -r REVREV
  • Differences per linesvn diff -r REVREV
  • Infosvn info
  • Print log messagessvn log
  • Undo (most) local changessvn revert PATH

12
SVN features
  • Automates much
  • Precise tracking of history of changes- Per
    line, ownership, time
  • Only differences btw revisions are stored
  • Easy to roll back and restore
  • Metadata properties support
  • For text data, but also binary support
  • Encryption over HTTPS/SSH
  • Tagging, branching, renaming and merging
  • Pre/Post hooks, e.g. for sending auto emails to
    lists
  • Etc

13
Advanced use of SVN
  • Barely scraped the surface dig the web for
    more.
  • Server-side tricks.
  • Tools, GUIs

14
References
  • http//subversion.tigris.org/
  • http//en.wikipedia.org/wiki/Subversion_(software)
  • http//tortoisesvn.tigris.org/
Write a Comment
User Comments (0)
About PowerShow.com