Version Control with Subversion

Audience

  • Teams of software developers and programmers who need to work co-operatively on projects.
  • System administrators who need to install and maintain the Subversion software and Subversion repositories.

Objectives

  • Be able to install and setup a Subversion server
  • Create and maintain a repository
  • Daily work as developer (Check-in/check-out/etc...)
  • Setup branches and merge them together

Course format
Duration of the course: 8-16 academic hours. The course includes approximately 40% hands on lab work.

Prerequisite

  • An understanding of the code-management issues in team-based software development

Syllabus

  • The concepts of Subversion
  • Repository layout
  • Revision numbers
  • Copy-Modify-Merge and Lock-Modify-Unlock
  • Daily use of Subversion (check-out, check-in, log, lock, blame)
  • Basic concepts
  • Accessing a repository
  • Checking out a working copy
  • Making a change
  • Finding out what you (and others) did
  • Committing
  • Detecting and resolving conflicts
  • Finding out who did what (browsing log messages)
  • Examining and reverting changes
  • Adding files, directories
  • Binary files
  • Removing files, directories
  • Renaming files and directories
  • Getting snapshots (dates and tagging)
  • Marking a moment in time
  • Branching/Merging/Tagging - copying trees
  • Working with branches
  • Advanced Subversion
  • Subversion Server for Administrators
  • Repository Administration
  • Starting a repository
  • Ways of accessing a repository
  • svnserver
  • svnserver with ssh
  • Apache and WebDAV
  • Anonymous access
  • Administrative information
  • Backups
  • Hooks for automated events
  • Tips and troubleshooting
  • Using TortoiseSVN
  • Using SVK
  • Other clients, embedding SVN in applications

Request more information about Version Control with Subversion