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 <
geertjan.wiele...@googlemail.com> 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
>

Reply via email to