Software Version Controlling with Subversion Training

Training Description:

Subversion is a free and open source software version controlling system being used by individuals and large software development companies alike. Subversion is the successor of CVS and is not second to any other version controlling systems. Being a matured product, Subversion comes with a large set of features, client side support for all the major operating systems and integrates with many development environments.

This one day training on Subversion is for both the administrators and the users. It covers everything from setting up a repository, interacting with the repository and administration functions making this a single training that covers everything required to work with Subversion.

However, for special requirements, merge tracking, sparse checkouts, repository sharding and partitioning, read-only clustering for improved performance will optionally be covered on a second day (if requested only).

Training Objectives:

At the end of the training, participants will be able to
  1. Configure a Subversion server including access controlling.
  2. Interact with a Subversion server in performing basic and advanced operations.
  3. Adhere to best repository interaction patterns.
  4. Use a simple but effective release versioning mechanism.
  5. Use a number of different Subversion clients on different operating systems and with different development environments.

Target Groups:

  1. All software professionals (include managers, coders, testers, other supporting staff)
  2. IT department staff maintaining repositories
  3. Read "Do I fit for that training?" if you are interested, but need help to determine whether you should participate or not.

Prerequisites:

  1. No special prerequisites exist other than the participant being a computer literate person.

Communication Language:

English

Duration:

1 day (8 hours) [or 2 days (16 hours) - see description above]

Facilitator:

Kamal Wickramanayake (Profile)

Notes:

  1. This training is done with hands on lab exercises.

Training Content:

  1. Introduction
    • What is software version controlling?
    • Versioning models (optimistic, pessimistic)
    • Repository and local copy
  2. General Usage
    • Initial import
    • Basic work cycle
    • Conflict resolution
    • Browsing the repository
  3. Branching And Merging
    • Common use cases
    • Software release versioning
    • Tags
  4. Advanced Topics
    • Properties
    • Ignoring files from being version controlled
    • Locking
    • Keyword substitution
  5. Different Clients
    • Command line interface
    • Subclipse
    • TortoiseSVN
    • RapidSVN
    • Ant task
    • Maven2 goal
  6. Repository Administration
    • Selecting a suitable repository structure
    • Setting up a repository
    • Different repository access mechanisms
    • Access controlling in an Apache/Subversion system
    • Repository maintenance

Trainings over the Internet