Sometimes changes need to be made to the Mercury system that mean previous versions of the compiler will no longer successfully compile the new version.
Whenever anyone makes a change which prevents bootstrapping with a previous version of the compiler, they should add a cvs tag to all the files in the relevant directories before committing, and mention this tag in the log message. The tag should be of the form bootstrap_YYYYMMDD_<short_description_of_change>.
The rationale for the cvs tag is that it allows machines to be bootstrapped (if they didn't manage to do it in a daily build) by doing `cvs update -r<tag>' on the relevant build directory. After that compiler has been installed, a `cvs update -A' will remove the cvs sticky tags.
Optionally, a test should be added to the configuration script so that people installing from CVS don't use an outdated compiler to bootstrap. Practically this may be difficult to achieve in some cases.