Subversion Administrator Training Course

OrcaWare Technologies provides several one-day training courses for the Subversion version control system.

These courses are designed for software development, quality assurance and technical writing teams that need to manage their source code, Word documents, drawings, images, etc. documents in a high quality version control system.

This full day course is targeted to Subversion administrators and includes training for all of the Subversion administrative tools and components, including svnadmin, svnlook, mod_dav_svn, mod_authz_svn.

The course covers all released version of Subversion.

We have a separate course designed for Subversion users.

Please contact Blair Zajac for pricing, scheduling and customizing the course for your deployment.

Our Subversion training classes are taught by Blair Zajac, whose Subversion credentials include:

  • Since March 2002, before Subversion hit its 1.0 release, has been on the Subversion project and one of the programmers who have commit rights.
  • A contributor to the O'Reilly Version Control with Subversion book.
  • Worked with large, well known organizations in bringing them in-house Subversion expertise, professionally installed and managed Subversion servers.

Here is an outline of the Subversion administrators course:

  • Introduction
  • What is source/version/revision Control?
  • Problems solved by version control
  • Terminology
  • Visualizing a trunk and multiple branches
  • Different models of version control
  • Subversion architecture
  • What is WebDAV?
  • Why choose Subversion over CVS
  • Who else is using Subversion?
  • Subversion repository access methods
  • Subversion components
  • Other Subversion clients
  • Conceptual model of subversion's repository
  • Standard repository directory layout
  • Branches and tags are cheap copies
  • All about working copies
  • Typical workflow
  • Specifying revisions
  • All about subversion properties
  • Svn command line arguments
  • Because the administrators need to know the basics of using the Subversion client, a small portion of the developers course is presented here. In a hands on environment, use all Subversion commands in the following exercises which use svn and TortoiseSVN
    • Install Subversion software on Your system
    • Create a local repository
    • Create an initial directory structure
    • Getting the status of the working copy
    • Committing to the repository
    • Update your working copy
    • Delete your working copy
    • Add files to trunk
    • Import an existing directory tree into trunk
    • Add URL and revision information to working copy files
    • Fix incorrect commit log messages
    • Svn configuration - $HOME/.subversion
  • Repository Administration
    • Creating a repository data store
    • Choosing between the Berkeley DB and FSFS data store
    • Configuring a Berkeley DB data store
    • Administrative tools - svnadmin, svnlook, svndumpfilter, svnshell.py, Berkeley DB tools
    • Repairing a repository
    • Verifying a repository's contents
    • Hot backups of a live repository
    • Pre-commit and post-commit hook scripts
      • Preventing case sensitive filename problems
      • Requiring log messages in every commit
      • Backing up after every commit
      • Email commit messages
      • Creating snapshot tar.gz's after every commit
      • Preventing commits to certain portions of the repository
    • Configuring hook scripts to support multiple repositories
    • Dumping and loading a repository
    • Moving a repository - client and server side
    • Managing repository disk usage
    • Populating a repository - svn add, svn import, svnadmin load, cvs2svn.py
    • Syncing a repository with remote mirroeed repositories with svnsyc
    • Using Apache 2.2.x and write-through proxies to have "read/write" mirrors
    • Setting up Trac with your repository
  • Server administration
    • When does the svn client send authentication credentials?
    • Choosing between Apache mod_dav_svn and svnserve
    • Never run the server as root
    • SSL encrypting your Subversion server
    • When should projects be in different repositories?
    • Apache configuration
    • Svnserve configuration