In a project configured to use CVS update mode, and doing incremental builds (or
faulty clean steps), it can happen that CVS updates produce conflicts. For
example, on occasion what was previously a .cvsignore'd build product becomes
checked into the repository - say, ANTLR-generated files if you no longer wish
to depend on antlr.jar for regular builds. In such cases, "cvs up" fails and the
build breaks. There is no way to correct the build from the admin GUI, either;
you need to log in to the server and delete the workspace.
If a project is configured to use update mode, and the update command fails, I
think Hudson should automatically attempt a clean checkout, in the interests of
robustness and zero maintenance.