Course VCT104
SVN Installation and Administration
SVN Installation and Administration
Duration: 1 Day
Short Summary
This course aims to extend the skills of system administrators so that they can administer Subversion repository servers and advise of best practices in the use of Subversion.
Intended Audience
The course will be useful to
- systems administrators setting up and managing SVN repositories
- programmers who will be implementing SVN "hook scripts"
- project managers seeking to understand how to make best use of SVN
The course assumes a basic understanding of operating systems and computer networking as well as familiarity working both via a Graphical User Interface (GUI) and via a Command Line console. It is also assumed that attendees have a working knowledge of SVN at the SVN User Level, and a basic understanding of system administration.
Course Overview
Note: Where Administrators do not have experience of the installation and configuration of Apache, a two day intensive introduction to Apache for System Administrators is available. In addition, there are two day module on Bash/Perl/Python programming for Subversion Administrators and advanced Subversion users.
The purpose of this course is to provide a good understanding of installation and administration of SVN repositories, more advanced aspects of branching, tagging and merging as well as access control and security aspects of managing SVN repositories.
Note: Where Administrators do not have experience of the installation and configuration of Apache, a two day intensive introduction to Apache for System Administrators is available. In addition, there is a two day module on Perl programming for Subversion Administrators and advanced Subversion users.
Course Contents
Overview of SVN Repository Access Mechanisms
- accessing an SVN repository
- accessing a local repository
- accessing a repository over a network using the SVN protocol ( also SVN + SSH )
- accessing a repository over a network using HTTP/HTTPS via Apache, WebDav and the mod_dav_svn module
Repository Administration
- Designing the repository directory layout
- Using file backup systems with the repository
- Dumping and loading repository contents
- Berkeley DB vs. native-filesystem based repository
- Repository permissions
- Apache authentication and access control
- SVN ( SVN + SSH ) authentication and access control
Migrating from other version control systems
- Migration principles and strategies
- Understanding the Subversion Dumpfile format
- Migrating from CVS to Subversion using cvs2svn
- Migrating from Perforce to Subversion
- Overview of VCP and RevML and their use in migrating from Visual SourceSafe to Subversion
- Apache Integration Issues
- Authentication, authorisation and encryption
- Compression
- DAV autoversioning
- Troubleshooting mod_dav_svn problems
Best Practices - Use Cases and Patterns
- Committing changes - importance of good commit messages
- Branching and merging
- Working with vendor branches
- Integration of version control with testing and integration
- Handling releases
- Understanding the design, implementation and possible uses of Hook Scripts
- Integration of Subversion with other tools
- Emacs
- Eclipse
- Ant
- Integrating with Visual Studio.Net via AnkhSVN
- Web-Based repository interfaces
- View CVS
- SVN::Web
Introduction to and overview of the Subversion APIs
- Understanding the organisation and inter-relations of the SVN libraries
- APR and Core SVN libraries
- Client library
- Repository access library
- Repository library
- Filesystem library
- Using Subversion from Perl
- Using Subversion from Python
