Always Work In Sandboxes
At a firm I used to work at we had a practice of “Always Work In Sandboxes”. Jon wrote a story of how this practice can go awry..
Always work in sandboxes doesn’t conflict with continous integration - it supports it. The practice works if you don’t butcher it. Its not complicated.
- Before you change, integrate the latest build into your sandbox. Takes about 10 seconds with Perforce.
- Make your changes. Check them in frequently - a couple times a day. Now you can recover from any bad edits, have a backup in case a disk crashes, etc.
- Do a main build of your sandbox to test you haven’t broken anything. Run your unit tests if you have them.
- Integrate your changes to the projects codeline and request a build. Takes about 10 seconds with Perforce. In the spirit of continous integration, this happens daily.
This requires a tool that supports integration between codelines as fairly trivial operations. To my knowledge the only such commercial tool is Perforce.
