Build approved changes with tests at every step.
Recent revisions are kept. Restoring one creates a new revision.