Book Image

Managing Software Development with Trac and Subversion

By : David J Murphy
Book Image

Managing Software Development with Trac and Subversion

By: David J Murphy

Overview of this book

<p><br />Trac is a minimalistic open-source enhanced wiki and bug/issue tracking system for software development projects, designed to help developers while staying out of the way and provides an interface to Subversion. Subversion is an open-source version control system that addresses many of the perceived deficiencies of CVS and can use WebDAV for network communications, and the Apache web server to provide repository-side network service.<br /><br />This book presents a simple set of processes and practices that allow you to manage these projects using open-source software without getting in the way by imposing as little as possible on established development practices and policies.<br /><br />This book looks at what is needed to manage software development projects, how web-based software project management system Trac and open-source revision control system Subversion meet these needs, and how to install, configure, and use them.</p> <p><a href="http://www.packtpub.com/article/managing-software-development-with-trac-and-subversion-table-of-contents"><br /></a></p>
Table of Contents (15 chapters)

Opening a New Branch


We have seen how Subversion allows us to keep our code under control as we develop; now we will see how we can use it to develop safely.

Consider this series of events: we spend a few days perfecting new reporting functionality for our application, but it depends on an already existing function. While we are writing our code another developer changes the way the function works, which causes our code to break, and checks that in. We then check our code in, without realizing that it no longer works. The end result? The code in trunk is broken. This is a situation we should strive to avoid—ideally the code in trunk should always work (undiscovered/unresolved bugs not withstanding).

So how do we develop things and get the benefits of Subversion if we can't check in incomplete code? The answer is by using branches.

Note

When to check in?

This is purely a personal preference, but most will say that we should only check in code that works. This can result in large gaps between...