- Convert as much as possible from the binary Access file format into text files.
- Anything that can lead to a bug in our software belongs in version control.
- Everything else should be kept out of version control.
- The text file conversion should be a single step.
1. Convert to text files
If we can't easily compare text from two different versions of our software, version control doesn't really gain us that much over simply keeping lots of copies of our database file.
2. Maximize the signal
If version B of our software has a bug that was not present in version A, then we should be able to see the source of the bug by comparing revision A and revision B in our version control system.
3. Minimize the noise
If version A of our software behaves identically in every way to version B, then there should be no differences between revision A and revision B in our version control system.
4. One click
If the process is too cumbersome or not repeatable, then we won't use it.
Theory vs. Reality
These rules are intended as a guiding philosophy. No version control system can meet all of these goals. However, these are the ideals I strive for. If I'm getting closer to meeting this vision, I know I'm moving in the right direction.