Chapter 23. Please Release Me
I heard an Angel singing
When the day was springing,
“Mercy, Pity, Peace
Is the world’s release.”
— William Blake I Heard an Angel
Creating a software release is an incredibly important step in your software development process, and not one that should left to the last minute. It requires discipline and planning.
Many times I have run into silly, perfectly avoidable problems that were caused by a lackadaisical approach to the construction of software releases.
Most of these were caused by the sloppy habit of creating a “release” from a local working directory, rather than from a clean checkout. (Hint: this is not a real software release, it’s a “build” of your code, you need a lot more process and diligence to create a proper release.)
- A software release was made from a developer’s local working directory. The developer hadn’t cleaned the code first, and the directory contained uncommitted source file changes. He noticed, but made the “release” anyway. When problems were reported, we had no record of exactly what went into that build. The result: debugging the software was a nightmare, mostly guesswork.
- A software release was made from a local directory that wasn’t up-to-date; the developer hadn’t updated to the HEAD of the Subversion code repository. So the release was missing features and bug fixes. Helpfully, the developer tagged the HEAD ...