On 2014-08-14 01:39-0700 phil rosenberg wrote:

> That workflow seems good to me.
>

> This model depends quite heavily upon having at least two permanent
branches. A stable master and an unstable testing and perhaps also a
(semi-stable) bug fixes branch. Are you suggesting that we should
adopt this for Plplot?

Yes, so long as another stable integration branch that you didn't
mention (called variously main and maint) is also part of the story, I
believe this whole branching scheme is similar to
<http://nvie.com/posts/a-successful-git-branching-model/> but with one
less integration branch.  But I am not completely sure of that, and
the CMake wiki article appears to be for the benefit of topic
branch developers.  For example, it says little about the main branch
and may gloss over some behind-the-scenes details about what happens
at release time for CMake where indeed there might be a release branch
as well.  I will have to review some messages in cmake devel near
release time about how they handle releases, and also look carefully
at gitk results for the cmake git repository to get a more complete
story from the point of view of managing releases.  But I am confident
if that aspect works for CMake it will also work for me as our
current PLplot release manager.

>
> The basic workflow would be:
> 1) When you want to work on a topic, branch from master (never from testing).
> 2) If your work depends on work in another topic that hasn't  been merged 
> into master then merge the other topic into your topic.
> 3) Never ever merge master into a topic.
> 4) When a topic is complete merge it into testing and perhaps into bug-fixes.
> 5) At release time or every now and then, the release manager takes all the 
> stable topics and merges them into master.
>

> The only downside I see is that 2) and 5) are a bit fiddly because
the topic branches are never published so you have to search for merge
points into testing, get their hashes and use them for merging.

> One advantage would be that it would force us to evaluate what
should be moved to master fairly often, otherwise 2) will become
rather cumbersome. I do think it is probably a pretty good workflow to
adopt. If it works for cmake there is no reason why it shouldn't work
for us.

Good summary except I don't think 5) is an issue since my
interpretation is that it is the topic developer's responsibility to
merge to master. For example, note that the wiki article mentions the
release manager has control of merges to main (the maintenance branch
for releases), but it doesn't say anything about such control for
master.  But same comments as I made above about release management
details.

I do agree with your point that 2) would be a bit fiddley for
extremely long-lived topic branches that become dependent on other's
work over time.  But I don't think that has historically ever been an
issue for PLplot.

One issue not mentioned in the article was collaboration between
developers working on the same topic branch.  But in the cases when
such collaboration was desired, I assume that could be arranged (e.g., via
github facilities for publishing individual developers repos) so long
as all collaborators on a topic resisted the urge to merge master into
their topic.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to