Subversion for Advanced Users Training Course

Overview

This course is aimed for advanced users of subversion, such as a release manager, a project leader, or anyone who wants his svn repository to be in a streamlined production chain, who will involve heavily with branching management, automatic build/compilation and testing, even deployment and updating. The students would benefit from this course to work more closely with development team and deployment team, especially for large size companies or those with geographically distributed branches.

Course features a lot of exercises on CentOS v5 virtual machines.

 

Requirements

Good knowledge of SVN required, preferably the delgates hold complete Subversion for Administrators and Subversion for Users courses. Course can be compressed into a one-day course, with less exercises and thus fee can be reduced.

 

Duration

7.00 hours
 

Course Outline

Team leader's day-to-day duties

  • Subversion design philosophy and its advantage

 typical copy-modify-merge scenario, how to solve simple conflicts

 set user policies and guild-line, make team collaboration smooth and consistent

 compensation to copy-modify-merge method, i.e. lock and unlock

  • Branching and merging

 when to create branches, several usages of branches,

 how to resolve conflicts and do merging wisely, how to absorb changes in different directions

 how to make use of new features of subversion to do branching and merging

 to encourage or discourage users' local branching?

  • Everyday digest and revision review

 mailing list, rss, digest

 blaming, delegation

Subversion properties

  •  Built-in properties, properties with svn: prefixed keywords, global properties
  •  How to design and use these properties
  •  Customised svn properties for company
  •  Creative usage of customised svn properties
  •  Disadvantage of svn properties (i.e., mind the constraints and not to over-engineer it)

 Subversion hooks

  • Hook types

  • General usage of already shipped hooks

  • Self-defined hooks

  • Be creative and imaginative

Secondary svn server

  • For backup, fail-safe recovery
  • For automatic backgroup tasks
  • For temporary arrangement (i.e., different locations, etc)

Integration with other tools

  • Issue tracking systems, i.e., bugzilla, track, Jira, etc

  • Content managing system, i.e., wiki, etc

 Note: There will be a lot of hands-on practical exercises during the course