Simple setup to reproduce the problem:
1) File based CVS repository with one directory (module) with one file.
2) Jenkins project that polls CVS repository for changes. Only build action is "echo Hello". CVS plugin has CVSROOT and module set. Checkboxes enable are (the default) "Use Update" and "Prune Empty Directories".
With 1) and 2) things are fine. When I trigger a build (build #1) by committing to the repository build is running. Changes are reported with correct CVS revision and commit message, and it says "Started by an SCM change".
The I try to enable the use of a ViewVC server:
3) In "CVS Plugin configuration -> Advanced" I change "Repository browser" from (auto) to ViewCVS. Then I add a URL and do Save.
I trigger a build (build #2) by committing to the repository and the build is running.
But now it says "No changes" instead of reporting CVS revision and commit message - but still says "Started by an SCM change".
When I compare the build directories of the two builds there are differences in the files changelog.xml and polling.log:
I the failing build (build #2) the changelog.xml is empty, and polling.log says "Repository not found in workspace state, scheduling build".
In the OK build (build #1) the changelog.xml has information about CVS revision etc, and the polling.log says "cvs rlog -S -d12 Aug 2014 09:21:09 +0200<12 Aug 2014 09:25:00 +0200 aDirectory"
If I change back to "(auto)" in "Repository browser" the problem is still there.