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)

What's the Difference?


Apart from allowing us to travel through time for any file under its control, Subversion can also tell us exactly what changed between versions or the changes we made to our working copy. If we make some changes to our one-and-only project file, but don't check them in, we can look at how this works.

First we can see what has changed in our working copy compared to the latest version (known as 'head').

  1. 1. Type svn status and press Enter.

    $ svn status
    M foo.py
    

    From the previous table above we can tell that foo.py has been modified. We can see what changes have been made to that file with the diff command.

  2. 2. Type svn diff foo.py and press Enter.

    $ svn diff foo.py
    Index: foo.py
    ===================================================================
    --- foo.py (revision 3)
    +++ foo.py (working copy)
    @@ -1,4 +1,3 @@
    #! /usr/bin/python
    -print "Hello, world!"
    name = raw_input('What is your name? ')
    print 'Hello, %s' % name
    

    Subversion defaults to displaying its differences using the...