- Introduce students to the basic concepts of version control and their function
- Provide context to what challenges version control systems are designed to address
- Show how software developers can use diff tools to create and maintain sets of software patches
- Demonstrate how patches can be applied and organized to create a historical set of changes that describe a project’s history
- Introduce Subversion and explain how it acts as a centralized version control system
- Cover how a repository is organized and the ways it is possible to interact with data
- Explain how Subversion differs from other version control systems, such as Git, Mercurial, or Bazaar
- Explore common Subversion operations such as project/repository creation, source checkout, adding/editing files, and committing changes
- Discuss version control best practices and workflows. Provides hands-on exercises so that students become comfortable working with version control using both GUI tools and the command line
- Describe how Subversion integrates with other tools and can be integrated with bug/issue tracking management and continuous testing servers
Recommended Text: Eric Sink. Version Control by Example. 2011. Pyrenean Gold Press, Champaign, Illinois.
- Prerequisites:
-
- An Introduction to Version Control: Getting started with version control and Subversion
- What are the challenges of collaboration?
- Distributed workflows
- Tracking changes and history
- Providing a frameworks for developers to experiment safely
- What is version control?
- A solution for the challenges of collaboration
- A mechanism for working with a distributed group
- A system for tracking changes
- Types of version control systems: distributed versus central
- What is Subversion?
- Subversion History
- Subversion Architecture
Lab Tasks: Diff/Patch Operations
- Use command line and GUI tools to compare changes to source code files
- Create diff files that can be exchanged with other software developers for
collaboration and code review
- Show how diff files can be used to create snapshots of a project and it is
then possible to step forward or backward through the history
- Subversion
- Installation
- Creating Repositories and Projects
- Basic Operations
- Create
- Checkout
- Commit
- Update
- Add Edit
- Delete
- Rename
- Move
- Status
- Diff
- Revert
- Log
- Tag
- Branch
- Merge
- Resolve
- Lock
Lab Tasks: Subversion Core Operations
- Show developers the most important Subversion operations
- Work through
examples of how to create repositories, add files to source control, generate
branches, and perform merges
- Work with students to create personal project
repositories and experiment with Subversion’s core feature set
- Subversion Tools
- TortoiseSVN: Exposing the power of Subversion inside of the Windows
Shell
- SubClipse: Accessing Subversion from Eclipse
- Versions: A Mac OS X SubVersion GUI
- What additional capabilities the GUI brings to Subversion
Lab Tasks: GUI Tools
- Look at additional utilities included in TortoiseSVN and SubClipse (Versions/
SubClipse for Mac OS X users) and how they become a part of the
larger Integrated Development Environment/Operating System
- Beyond Basics
- Workflows
- Managing software releases
- Discrete version management for applications teams
- Management strategies for web teams
- Integrating Subversion into web based tools: Bug/issue and time tracking
utilities and beyond
- Security best practices: Securing access to a repository and determining
rights/privileges
- Protecting repositories on disk
- Subversion over SSH
- Subversion over HTTP (Apache)
- Subversion in a world of distributed version control
- Continuous integration testing and software validation
Lab Tasks
- Demonstrate and practice advanced operations related to workflow
- Show
how Subversion can be integrated with external tools, such as bug/issue trackers
- Look at the methods for securing access to a repository
- Supported Distributions:
- None
- Course Outline:
-
- An Introduction to Version Control: Getting started with version control and Subversion
- What are the challenges of collaboration?
- Distributed workflows
- Tracking changes and history
- Providing a frameworks for developers to experiment safely
- What is version control?
- A solution for the challenges of collaboration
- A mechanism for working with a distributed group
- A system for tracking changes
- Types of version control systems: distributed versus central
- What is Subversion?
- Subversion History
- Subversion Architecture
Lab Tasks: Diff/Patch Operations
- Use command line and GUI tools to compare changes to source code files
- Create diff files that can be exchanged with other software developers for
collaboration and code review
- Show how diff files can be used to create snapshots of a project and it is
then possible to step forward or backward through the history
- Subversion
- Installation
- Creating Repositories and Projects
- Basic Operations
- Create
- Checkout
- Commit
- Update
- Add Edit
- Delete
- Rename
- Move
- Status
- Diff
- Revert
- Log
- Tag
- Branch
- Merge
- Resolve
- Lock
Lab Tasks: Subversion Core Operations
- Show developers the most important Subversion operations
- Work through
examples of how to create repositories, add files to source control, generate
branches, and perform merges
- Work with students to create personal project
repositories and experiment with Subversion’s core feature set
- Subversion Tools
- TortoiseSVN: Exposing the power of Subversion inside of the Windows
Shell
- SubClipse: Accessing Subversion from Eclipse
- Versions: A Mac OS X SubVersion GUI
- What additional capabilities the GUI brings to Subversion
Lab Tasks: GUI Tools
- Look at additional utilities included in TortoiseSVN and SubClipse (Versions/
SubClipse for Mac OS X users) and how they become a part of the
larger Integrated Development Environment/Operating System
- Beyond Basics
- Workflows
- Managing software releases
- Discrete version management for applications teams
- Management strategies for web teams
- Integrating Subversion into web based tools: Bug/issue and time tracking
utilities and beyond
- Security best practices: Securing access to a repository and determining
rights/privileges
- Protecting repositories on disk
- Subversion over SSH
- Subversion over HTTP (Apache)
- Subversion in a world of distributed version control
- Continuous integration testing and software validation
Lab Tasks
- Demonstrate and practice advanced operations related to workflow
- Show
how Subversion can be integrated with external tools, such as bug/issue trackers
- Look at the methods for securing access to a repository
|
Don't see what you're looking for? Check our
schedule
or make a request.
|