-
Type:
Bug
-
Status: Resolved (View Workflow)
-
Priority:
Major
-
Resolution: Fixed
-
Component/s: cvs-plugin
-
Labels:None
-
Similar Issues:
After upgrading from version 1.6 of the CVS plugin to 2.6 (and then to 2.7), our "excludes regions" have stopped working. That's because we have a pattern like
[^/]*\.ext
to prevent changes to .ext files in the root directory of the checkout from triggering builds, and we have patterns like
directoryToExclude/.*
to prevent any file in directoryToExclude from triggering a build. But we do expect a build to be triggered by changes to a .ext file that is in a directory that is not excluded. That was true of version 1.6, but not after upgrading to 2.6.
Not that you don't already know this, but looking at the source code for version 2.6 of the CVS plugin, it looks like the CvsFile is constructed (in CvsLog) using only file.getSimpleName() and not file.getFullName() which means that the loop over excludePatterns in AbstractCvs is not taking the full path into account. (However, I wouldn't know what negative side effects there would be, if any, to making the single change.)
I've run some tests and can't replicate your issue. Could you try installing the snapshot version from https://buildhive.cloudbees.com/job/jenkinsci/job/cvs-plugin/88/org.jenkins-ci.plugins$cvs/artifact/org.jenkins-ci.plugins/cvs/2.9-SNAPSHOT/cvs-2.9-SNAPSHOT.hpi and check what the logs show?
To answer your above comment: The plugin polls the full repository then checks each changed file to see if its path matches the exclude region. I've add in a log message to show which pattern any skipped files have matched to.