I'm glad Jan went ahead and did this. Per-cluster seems to most logical way to carve the repository while still allowing history to be kept.
By definition clusters don't really map to a library or a build because if you look at the matrix on the download page https://netbeans.org/downloads/ you'll see that there is some overlapping. So, this approach is similar to Mercurial Forest. Still, Jan seems to have thought about this: > in the experiment, there is still a single global nbbuild/cluster.properties - would be better to split and place parts into individual repositories which means that there is nothing stopping up to tweak this a bit and add per-cluster cluster.properties which might perhaps allow us to build, say NetBeans C/C++ by just cloning the netbeans-cpp cluster (and netbeans-platform and netbeans-build(?)). As I mentioned before I don't see this an improvement of the status-quo, technically. But it could be a big gain socially, by allowing people to contribute by, say, using GitHub without worrying about space restrictions (although a single cluster will not be small). Also note the final point on the page: > the main intent here is to experiment with a way to keep repository sizes smaller while keeping history. One of the risks here is that having (too many) repositories is also not inconvenient. So, some consolidation of clusters into repositories seems to be in order. As a data point, some other big project is proposing to move from multiple smaller repositories to a single bigger repository (i.e. closer to the current NetBeans state): http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-October/004987.html Google is famous for their single repository ( http://programmers.stackexchange.com/a/41451 ) > Google manages to keep the source code of all its projects, over 2000, in a single code trunk containing hundreds of millions of code lines as is Facebook, which uses Mercurial ( https://code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/ > Facebook's main source repository is enormous--many times larger than even the Linux kernel, which checked in at 17 million lines of code and 44,000 files in 2013 And of course, there are other projects like FreeBSD that use single repositories for the whole product. --emi On Wed, Oct 12, 2016 at 2:41 PM, Geertjan Wielenga < [email protected]> wrote: > Hello all, > > Please note Jan Lahoda, one of the NetBeans gurus in Prague, has published > this on the Wiki: > > https://cwiki.apache.org/confluence/display/NETBEANS/ > Experiment%3A+split+the+main+NetBeans+repository > > Comments, thoughts, feedback, welcome. > > Gj >
