felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Chemouil <schemo...@gmail.com>
Subject Re: git?
Date Tue, 27 Oct 2015 19:52:08 GMT
Benson Margulies wrote:
> There was some discussion a while back about git, which I recall
> (perhaps inaccurately) as vaguely positive. It's a lot easier if each
> releasable thing gets its own git repo.


At this point it looks like the switch is going to happen, and there has
been this argument repeated a few times that the current situation with
SVN is not broken and that changing will imply significant pain.

It's most likely true :).

However as a user of Felix and its sub-projects, I'd like to state that
this switch would be very welcome and ease working with Felix and
contributing patches a lot.

First, the Felix SVN repo is humongous and mixes so many sub-projects
that it's a pain to navigate through it to get the right ones, the right
branch, the right commit.

Second, there's the problem of hassle-free contribution: when I
encounter an issue, I just want to just fork a sub-project, and create a
pull request and the associated JIRA ticket, and go back to my routine.
But forking the whole felix project just for a single a component is a
big overhead, and last time I tried the Felix Git repo on GitHub did not
look up-to-date. It might not look like it because you guys have your
environments set up and you spent enough time to do so, but that is an
artificial entry barrier to contribution (not because it's difficult,
but because it's so heavy compared to the Git workflow we got used to).

So while this switch might not go as smoothly as hoped, it will also
benefit users and I believe will help the Felix project get
contributors, new committers and even maybe new sub-projects, as long as
there is no new overhead introduced by the way the switch is made :-)

In my experience having one repo per bundle results in the opposite
overhead (having too many repos to clone, update, etc), and I think
having one repo per sub-project is the right compromise. That's also
we've been doing at work for a while (we had one repo per bundle before
for a long time).

Finally, it would be great not to bump versions for bundles that have
not changed just to avoid having several releases prefixes handled by
the maven-release-plugin within the same repository. So I am not
favourable to systematically making all bundles in a sub-project part of
the same multi-module Maven project (and thus share bundle version by
default) for that reason alone.

Although proper package semantic versioning would make this transparent
at runtime (or 'install' time), it makes it impossible to track releases
and the evolution of the different bundles, and generally feels against
OSGi principles' of proper modules and versions.

A big non-binding +1 from me. :)

Simon Chemouil

View raw message