[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orekit Developers] Using git-flow branching model?

I'm a huge fan of the Git Flow branching model.  I use it on every project that I work on, even ones where I am the sole developer.  The only tools I really use for that though are the ones built into the ecosystems that I develop with: GitHub, Gitlab, JIRA.  I don't have experience with the additional tools so I can't say how well those work but the branching model itself is solid. I'd be totally for this.

While we are looking at refactoring our SCM process is there any interest to looking at migrating the repository to Github or Gitlab to support the forking contributor model for making external contributions possible?  That is a whole separate topic I suppose and don't mind starting a separate thread from this if that is more appropriate than discussing here.


On Mon, Jul 31, 2017 at 5:30 AM, MAISONOBE Luc <luc.maisonobe@c-s.fr> wrote:
Hi all,

For some times now, some experienced developer (Sébastien), has urged me to
adopt a better branching model for Orekit. Doing everything in master,
except for a few branches from time to time, is not really good.

He suggested using git-flow (<http://nvie.com/posts/a-successful-git-branching-model/>,
<https://www.atlassian.com/git/tutorials/comparing-workflows>, <https://github.com/petervanderdoes/gitflow-avh/wiki>, <https://danielkummer.github.io/git-flow-cheatsheet/>).

The third and fourth link above even propose a few extensions to help using
git flow. The third link seems to be the one installed on Debian systems.

What this branching model would imply is that there would be a develop branch
that is evolving rapidly and the master branch would be more stable as it
will change only when releases are made.

External users that want to get the latest released version would therefore
be able to retrieve it directly from git, using the master branch. External
users that want the latest bleeding-edge version with finished features
would retrieve the develop branch.

People wanting to set up nightly builds (someone asked for it a few months
ago on these lists) could use either the master or the develop branch, or
even both branches in separate builds, depending on their needs.

Orekit team developers ready to work and contribute on unfinished features
would use feature branches, some internal to their private repository in
their work machine, some pushed to the public repository at orekit.org for
collaborative work.

What do you think?

best regards,