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.

Bug 194550 - Use Mercurial subrepos to synchronize main and contrib
Summary: Use Mercurial subrepos to synchronize main and contrib
Status: RESOLVED WONTFIX
Alias: None
Product: www
Classification: Unclassified
Component: Builds & Repositories (show other bugs)
Version: 7.0
Hardware: All All
: P3 normal (vote)
Assignee: pgebauer
URL:
Keywords:
Depends on: 190537
Blocks:
  Show dependency tree
 
Reported: 2011-01-20 21:05 UTC by Jesse Glick
Modified: 2015-07-28 10:42 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Skeleton of patch (5.14 KB, patch)
2011-01-20 21:05 UTC, Jesse Glick
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jesse Glick 2011-01-20 21:05:17 UTC
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.)
Comment 1 Jesse Glick 2011-09-01 15:53:38 UTC
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.
Comment 2 Jesse Glick 2012-06-11 14:18:28 UTC
Adjusting summary - subrepos would probably be better than this patch.