This idea came to me earlier today when I was fixing my parent-in-laws
PC. Good old plug and play had resulted in the "blue screen of death" on
bootup. The PC automatically rebooted and came up with a console with
various boot options.
One of which was "boot with last known working configuration" - wo I
tried it.
I nearly fell off my chair when it worked and the PC was back in the
state of trying to do the plug and play installation.
Now this is hardly rocket science, but it's a brilliant idea.
Then, when I came home I discover that the ongoing discussions on Infra
had resulted in the suggestion of them using a snapshot version of
Forrest to prevent them from having to build from an SVN branch (they
use the 0.7 branch).
A couple of weeks ago Johannes was asking if his commits to the 0.7
branch would make it through to a distribution server so he could point
his users at it.
What do people think about providing a "last known working snapshot" of
our 0.7 branch and of trunk. Users wanting to use a "not quite cutting
edge" version of Forrest could use these snapshots.
They would not go through the usual release process, perhaps have only a
"./build.sh test". There would be big warnings on the download page to
the effect of "Whilst we endeavour to ensure these snapshots will run,
users should be aware that they have not gone our usual Quality Control
checks for a release. Use at your own risk."
The snapshots would be stored in SVN so that external projects could use
"svn:external" to include Forrest in their SVN downloads so that users
need not install a separate project in order to build local docs.
If we have a mjor problem reported by a user, simply roll back the
snapshot release to a previous version.
We can use our forrestbot to build various test sites and only allow a
snapshot when they pass (in fact David has already set this up).
Any committer could create a snapshot at any time with a simple majority
vote. However, they would only be encouraged when there is a significant
bug fix or new feature.
I think that this would also make the testing of releases more through
since some people will have been using the release build for a while
without having to actively particpiate in the test process.
Ross