Let me explain you in a few words how our project setup is, before i explain the problem we got with git excluded-regions.
We got a git repo with the following projects in it, each with its own base pom:
middletier (with clients (=interfaces) and core implementations)
On our hudson ci machines we got different jobs for building the connectors, dependencies, middletier clients, middletier cores and webtier.
Now to our problem:
Cause using the git.repo/master branch for each of the five build jobs, we added a scm polling excluded region for each build, cause we don't want to build middletier clients, if there was only a change in webtier for example.
The excluded region is defined correctly and works absolutly fine, !BUT! only if during our 5 minutes polling interval none multiple checkins occure.
IF there are multiple checkins, the result is like in the following example:
1. checkin: changes on the dependencies for a client change
2. checkin: changes on the middletier clients
3. checkin: changes on the core implementation, necessary due to the client changes
Our build is broken afterwards .... now guess why!
Cause the polling mechanism for git checkins is not implemented corrected and only checks the LAST checkin for the exlcuded region!!!
So all our five builds are checking if there were changes in the THIRD CHECKIN ONLY, and neither clients nor dependencies will start to build, what results in a broken middletier core build.
For us this is a major issue and we can only avoid this scenario by not using exlcuded regions and build everything, when there was any change in any project and this is absolutly unsatisfying ...