In this series our hopes are to talk about some of the ideas/practices that the presenters have come across when working with the different topics of software configuration management. You can see from the initial post, announcing the series, the scope to which we’re hoping this series will cover. As far as our first topic goes, let’s talk a little about revision control.

Revision control (aka source code management [SCM]) tries to tackle a problem inherent to managing shared resources, versioning. As developers, resource versioning provides us with somewhat of a time machine that we can use to inspect and maintain a historical context for our source code; for the purpose of the presentation let’s assume that the only resources we’re concerned with are files and directories. Once we have a historical context for our source code, many different avenues for productivity, accountability, and fail-over become available to us.

In my presentation for September I want to talk about the following topics as it relates to revision control:

  • Common Terminology
    • Repository
    • Project
    • Revision
    • Head
    • Trunk
    • Branch
    • Tag
    • Patch
    • Metadata
  • Concurrency models
    • Lock/Edit/Watch
    • Checkout/Merge/Check-in
  • Branching strategies
    • Release-based Branching
    • Feature-based Branching
  • Promotional strategies

I will be using Subversion as a means to show you how these concepts can be implemented. If you are interested in some general reading, check out the always useful Wikipedia. It has a good comparison of revision control software products as well as a great breakdown of definitions for revision control and its basic elements. If I have time, I’ll hopefully be able to get into some details about the cool clients and tools that Subversion supports. If I’m even luckier, I’ll get an opportunity to go into the reasons why we chose to use Subversion at my current and previous employers.

So with all that said, come and join us on September 4th for what hopes to be a somewhat informative and entertaining presentation on revision control (and by that I mean you’ll be dying for Adam’s ColdCourse presentation by the time I’m done).

;)