Chapter 11. The Joy of Automation


The whole point of computers is to make our lives easier and expand the possibilities of what can be done, yet most of us spend an inordinate amount of time in front of the computer making our lives more tedious and repetitive. Tedious and repetitive then lead to boring, and boring leads to mistakes (another area where computers are supposed to improve us).

Why do we torture ourselves with such mundane pursuits? Because we're not lazy enough. That's right, people pursue repetitive boredom (and the errors that result) because they don't get fed up with the work enough to find a way to avoid it. Does that sound like you? I didn't think so. That's why I know you're salivating over the prospect of learning how to craft Subversion into a tool that works for you, rather than letting it become a master that demands you to divide your time further than it already is.

In this chapter, you will learn all about the various tricks and tools available to you in Subversion to not only automate the mundane tasks specific to your development process that go along with organized use of a version control system, but also to automate the safeguards that help ensure everyone follows the rules that your process establishes.

The value of reducing repetition is obvious to everyone. No one wants to do the same thing over and over again. Repetition is also the place where computers most excel. The value of safeguards is also an easy one to recognize, but the extent of their value is often underappreciated. Sure, we all understand the need for security that protects against malicious attack, but in a development project, that is rarely the biggest danger to protect against. Much more insidious is the danger from an attack of inattention. All of us have done it. A moment's hurriedness or lack of thought leads to a forgotten procedure, which leads to any number of dozens of negative scenarios, from broken builds and hidden bugs to incomplete or incorrect documentation.

By taking the time, up front, to customize Subversion's automation tools to fit your development process, you will almost certainly end up with happier, more productive developers who are able to follow the development process with more consistency and fewer errors. This leads to less administrative work, and (with any luck) frees you up to pursue more automation that can start the cycle anew.

Subversion provides a number of hooks that give you a point where you can integrate automation tools into the Subversion client or server. It provides several execution points, where hook scripts can be run, to process or examine the data before or after Subversion places it into the repository. Additionally, it provides metadata in the form of properties and strictly formatted output (for ease of parsing) that allows you to examine Subversion with other tools in your development chain. Finally, if that's not enough automation for you, Subversion provides an API that you can use to interact with a Subversion repository using the same entry points as the Subversion client.



    Subversion Version Control. Using The Subversion Version Control System in Development Projects
    Subversion Version Control. Using The Subversion Version Control System in Development Projects
    ISBN: 131855182
    EAN: N/A
    Year: 2005
    Pages: 132

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net