[En-Nut-Discussion] RFC: Moving to github

Ole Reinhardt ole.reinhardt at embedded-it.de
Thu Jul 23 00:40:04 CEST 2015

Hi Harald,

Oh dear! What a lengthy discussion have I started. And even worse at a
time, where I had no time to follow it with enough attention.

But at least I'd like to clearify a few things.

Am 20.07.2015 13:41, schrieb Harald Kipp:
> On 20.07.2015 11:26, Ole Reinhardt wrote:
>> due to the current problems on sourceforge, and the discussion about
>> changing the repo to a GIT repo, I'd like to bring up the idea to move
>> the project to github.
> You are mixing things up.
> As far as I remember, there had been an agreement among the majority of
> active developers to move from SVN to Git.
> As far as I remember, there never had been any consensus about switching
> from SF to Github.

Absolutely true. I did not want to start a new git vs. svn discussion. I
thought we agreed uppon switching to git in the medium-term. That is why
I quoted you.

But the SF outage (along with the bad experience from Simon with the
gimp project) I'd like to bring the focus back to this plan.

Then in the second moment, I also thought about what popular
alternatives to SF exists. And (in my eyes) it turned out, that there is
at least only one good and popular alternative: github.

So yes, you are true, I mixed up two discussions. But my intention was
to start a discussion about possible alternatives to SF, not to re-start
the git vs svn discussion again.

> Several contributions to this list suggested to switch to Git, but keep
> the SVN workflow. In the meantime my experience is, that this is the
> worst of both world.

Yes I agree. _If_ we move to git, we should also start using it's benefits.

> What I like with SVN is its simple revision structure and how it keeps
> track about patches between branches. However, Uwe reported problems
> with SVN merging, when using Git with SVN. See
> http://comments.gmane.org/gmane.comp.hardware.microcontrollers.ethernut/14643
> The solution he suggested makes "svn mergeinfo" completely useless and
> cherry picking and tracking of trunk patches for older branches too time
> consuming. As a result, the 4.x branches were no longer maintained since
> then and SVN lost one of its essential features.

Damn... I did not want to discuss the pro / cons again :) but personally
I lerned to love the git revision structure.

There are several tools available to print a graphical revision log. but
you can also just use gits internal tools:

git log --graph --abbrev-commit --decorate --date=relative --all

> The thing I like most with Git is its decentralized workflow.

Yes. And I feel that it could help us a lot, as with git pull requests,
we would (could) introduce a patch review mechanism, which would help to
keep the main code bease at a higher quality level.

But I also definitely see the need of one central main repository from
which releases and release branches are created.

> Several posts to this list suggested the centralized workflow, but IMHO
> this would limit Git's most prominent feature, decentralization.
> So, if you want to lose essential features of SVN and Git, then continue
> to emulate SVN with Git. If you want get the full potential of Git, then
> I'd strongly recommend to use the forking workflow. Once again I'd like
> to point you to
> https://www.atlassian.com/git/tutorials/comparing-workflows/
> Ole, what was your question really?
> If it was: "Should we switch to Git?" then my answer will be "Yes".
> If it was: "Should we move to Github?" then I can't give any answer,
> because the question makes no sense too me. Decentralization implies,
> that there is no central code base, doesn't it?

Ok my thoughts have been:

github provides a a public git server and also encourages to use a
decentralised workflow (forking workflow). But is also allows the
feature-branch workflow.

As mentioned above, in our case I would appreciate an "official" main
tree for releases as well. This also implies that we need at least one
(or more) maintainer who handle the pull requests to the main tree and
who keeps an eye on everything.

But the most interesting point is that github as got very popular.
Project on github easily get a lot of attention while personally I have
the feeling that projects on sourceforge tend to become buried in
oblivion, if they do not get featured on the sourceforge entry page.



PS: Concerning the workflows:

I'm daily working a lot with git. We normally use a feature-branch like
workflow in our office and I personally would appreciate this one for
Nut/OS as well, but also the forking workflow could be very interesting,
as long as at least one central repository remains for the releases.

kernel concepts GmbH            Tel: +49-271-771091-14
Sieghuetter Hauptweg 48         Mob: +49-177-7420433
D-57072 Siegen

More information about the En-Nut-Discussion mailing list