On Wed, 25 Mar 2015 10:19:27 +0100 Mateusz Loskot <mate...@loskot.net> wrote:

ML> Having master checked out, I'm ready to submit patches back straight away.

 Sure, you can submit them -- but currently, i.e. when using git flow with
Github, they can't be merged easily (i.e. using the single button in the
web interface). This is exactly the problem which triggered this thread.

ML> > SL> I'm a believer in the idea that the default branch should be a
ML> > stable SL> one.
ML> >
ML> >  Notice that this is clearly not the case when not using git flow as
ML> > then all the development is done on master and stable releases branch off
ML> > it. And I do believe that most people have a clear understanding that
ML> > getting the latest master means you get the latest, but not necessarily 
the
ML> > most stable, version.
ML> 
ML> Yes, it seems to be like that, in default GitHub arrangements.
ML> GitFlow overrides the role of master and if we do GitFlow, we do
ML> master == stable.

 It's even more rigid than this, it's so stable that it practically never
changes -- it's only updated when a release happens. Again, this is not
necessarily bad, but is definitely unusual, people expect to be able to
track changes as they happen if they pull from master, but with git flow
absolutely nothing happens in master.

ML> My experience with maintaining and releasing SOCI bugfix releases
ML> revealed that one PITAs is
ML> 1. Collecting all PRs that qualify for a bugfix release
ML> - often fixes submitted in big PR bundles need to be cherry picked
ML> - often fixes submitted against develop need to be ported to master
ML> - often fixes do not receive any feedback or review, so unclear they are 
good
ML> - maintenance is no fun, but a time consuming boring task :)

 No workflow is going to help with the first and the last two points, of
course, but at least the second one is a pure annoyance due to an impedance
mismatch between git flow and Github and we could get rid of it.

ML> I chose GitFlow because it is well structured workflow that makes it
ML> no-brainer yet simple to follow, with one caveat...once you learn it :)

 Yes, I agree that it's not that difficult. But it's still more difficult
than alternatives. And, while it doesn't excuse my erroneous commits to
master, it's hard to keep track of different workflows when switching
between different projects, so simpler is always better.

 Most of all, I'd like to repeat that it seems obvious that git flow
strength is its good support for multiple active releasable branches and
frequent releases, neither of which is really needed for SOCI.


ML> >  Of course, this wouldn't help with your concerns as master would be
ML> > exactly as [un]stable as develop is now. But if this helped SOCI
ML> > development it would be still well worth it IMO.
ML> 
ML> Ok, let's make it happen, unless there are objections from other
ML> developers and contributors.
ML> 
ML> To make it clearer what we are going to decide between, quick summary:
ML> 1. On one hand, we have GitFlow -
ML> http://nvie.com/posts/a-successful-git-branching-model/
ML> a well structured workflow that proved to be not as well known as I'd
ML> assumed and too detailed for SOCI.

 This is the workflow I'd use if I had to make many releases.

ML> 2. On the other hand, we have, so called, GitHub flow -
ML> http://scottchacon.com/2011/08/31/github-flow.html
ML> a kind of rolling release workflow, where master is always deployable
ML> aka stable (as in GitFlow)

 This is the workflow I'd use if I didn't have to make any releases.

ML> 3. Somewhere in between, we have traditional workflow known from, for
ML> example, Subversion:
ML> - master - here all development happens (submitted and merged from
ML> topic branches!)
ML> - release/X.Y.Z - maintenance branch
ML> - tags/X.Y.Z - tag

 This is indeed the most commonly used workflow IME. Notice that it's a
strict superset of (2).

ML> It seems, git makes release/X.Y.Z redundant

 The usual strategy is to have release/X.Y branch[es] and then X.Y.Z tags
on them.

ML> My vote:
ML> 1. Drop GitFlow: +1
ML> 2. New workflow: +1 for either 2 or 3

 I don't think we can possibly use (2) because we do need 3.2 and 4.0
branches, at least. I do prefer (3) to (1).

 Regards,
VZ

Attachment: pgp7TOypOwowa.pgp
Description: PGP signature

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
soci-users mailing list
soci-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/soci-users

Reply via email to