This just a quick post about a great article on how to “shelve” a project with local changes so you can work on something else without sending the changes to the trunk.
For those of you wondering what I’m talking about, when we write software, we use systems that allow us to undo changes on hundreds of files at a time. This can be very useful when, in the middle of adding new features, you need to fix a security vulnerability but you don’t want to lose the work you’ve already done.
If you were building a house and had already laid the foundation, built the frame, ran the electric and plumbing, put up the drywall, and then realized you forgot the insullation between the foundation and the frame, it would be a small disaster.
Shelving code allows us to lift the entire house up off the ground so that we can put in the insullation, and then return the house to its rightful place without losing our work.
Techniques such as this allow us to be very productive programmers.