This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Created attachment 105219 [details] Skeleton of patch Currently the list of modules to be included in the experimental cluster, many of which are in the contrib repo, is kept in nbbuild/cluster.properties in the main clones. This causes synchronization problems since we can push immediately to contrib but only indirectly to main-silver. One fix is to separate the list of contrib/* modules in the experimental cluster into a file in the contrib repo so a module can be atomically created and registered, or atomically deleted and deregistered, etc. (An alternate solution would be to use http://mercurial.selenic.com/wiki/Subrepository to tie a particular revision of contrib to a matching revision in main. This would likely involve implementing http://issues.hudson-ci.org/browse/HUDSON-4838 as well. TBD if it is even possible to have an optional subrepo.)
Storing the contrib/* module list in the contrib repository would help for the case that you are adding or removing a contrib module. It would not help for the case that you are making some change in main which would break the build in contrib, whether a Java-level incompatibility or some other thing. In some cases the matching change in contrib can be made and pushed first, but in other cases the changes must be synchronized. Only subrepos would help for these last cases. Reading the subrepo docs, it looks like this could work if there were a "master" repo with no real files that just contained main and contrib as subrepos. nbms-and-javadoc would then check out the master repo (assuming the Hudson plugin were made to produce an aggregated changelog). The problem is that this would not interact well with team repositories; would really only make sense to have one main repository with a bunch of branches.
Adjusting summary - subrepos would probably be better than this patch.