Basic Source Control With Subversion

57 %
43 %
Information about Basic Source Control With Subversion

Published on September 5, 2007

Author: vishnu



A talk I gave at Torque on 6th Sep, 2007

Basic SCM with Subversion & Trac Vishnu Gopal

Contents • What, Why and How? • Subversion Commands • Demo: Command-line tools • GUI tools • Project Layout • Trac: overview

What? • Subversion maintains snapshots of the code repository. • Allows many people to concurrently work on a codebase. • Subversion is source control with a central repository. • Usually integrates with a frontend: Trac

Why? • Continuous incremental backup. • Ability to recall older code. • Distributed development. • Various versions of a single project. • Tracking bugs, timeline, goals and releases.

Central Repository

How? • Developers checkout code from the repository to a local working-copy. • After making edits, they commit changes. • At any point, they can revert to an older version of the codebase. • They update their local working copy frequently to keep up with changes.

Work with Subversion

But how does Subversion work? • A system to track changes in files. • The code is initially imported into the repository. • Then a special “subversion-aware” directory is checked-out. • Developers commit and update. • Subversion tracks the changesets and the commit-log.

Common Subversion Commands • checkout: Obtain a new working copy. • import: Import code into repository initially. • commit: Update repository with changes. • update: Update working-copy with changes. • Other commands: revert, move, copy, merge.

Subversion: Demo

GUI Tools • TortoiseSVN in Windows • Right-click a directory: get a context-menu with everything in there. • Useful Integration with diff and patch. • Reasonably fast.

Project Layout • trunk • All constant development happens here. • branches • Special purpose development here. • tags • Releases are “tagged” for archiving.

Trac: Demo

Major features of Trac • Frontend to a Subversion repository. • Shows the changesets and timeline. • Has a bug tracker which integrates with the Subversion commit-log. • Simple project management.

Some good Subversion practices • Follow the branches, tags, trunk structure. • All code should be in the repository! • Update code at the start of every day. • Only commit coherent changes. • The central repository should always be consistent. • Branch as less as possible.

Finis The end. Questions?

Add a comment

Related pages

VisualSVN - Subversion-based version control for Windows

VisualSVN Server makes the Subversion server easy and convenient to install and administer on Windows. Learn more... download licensing © 2005 ...
Read more

Apache Subversion Source Code

... Subversion Source ... Subversion from a source code release: Download the latest source code distribution or checkout the source code from version control.
Read more

SVN - Basic Concepts - Tutorialspoint

SVN Basic Concepts - Learn Apache Subversion ... SVN - Basic Concepts ... we will concentrate only on the Centralized Version Control System and especially ...
Read more

Simple Version Control for OBIEE using Subversion ...

... a free "packaging up" of the open-source Subversion version control ... basic way of adding some sort of version control to your OBIEE system ...
Read more

Apache Subversion Features

Getting Subversion Source Download; ... Apache Subversion Features. ... CVS is a relatively basic version control system.
Read more

What Is Subversion? - Red Bean

Subversion is a free/open source version control system (VCS). That is, ... but also the basic design of the Subversion data store.
Read more

Version Control Basics - SVN Book - VisualSVN Help Center

Version Control Basics ... (such as program source code). ... You are reading Version Control with Subversion ...
Read more

Basic Source Control With Subversion - Technology

A talk I gave at Torque on 6th Sep, 2007 ... 1.Basic SCM with Subversion & TracVishnu Gopal . 2. Contents • What, Why and How?
Read more

SVN Tutorial

SVN Tutorial for Beginners - Learn ... is a software versioning and revision control system distributed under an open source license. Subversion ...
Read more