The core PLplot developers have privately been discussing the workflow that we are going to use with our new git repo. I have moved this discussion now to plplot-devel because others there should be interested, and I may have found a solution.
I just rediscovered another important reference concerning git workflow. This one is about the workflow adopted for the CMake project itself, and I think that that workflow is what we might want to adopt ourselves. This workflow is discussed in detail with cookbooks (lists of commands to use) for all situations at <http://public.kitware.com/Wiki/Git/Workflow/Topic>. This is a pure merge workflow for a much larger project (in terms of number of developers) than PLplot. Although the resulting history is far from a linear one, it does make the history you obtain with "git log --first-parent" linear for the discussed topic, main, maint, and next branches. That attribute is enforced by an update hook at push time (which IMO is much better than one of us attempting to enforce workflow rules as some sort of repo polizei). I assume that attribute largely answers the previously expressed (in the private thread) "con" for merge workflows which is they tend to produce much too complex a history. For example, I assume it would make git-bisect much easier to use than for a more general pure merge workflow without this attribute enforced. This workflow also specifies exactly which branches to support for convenient development and is already well documented at the above URL. Furthermore, it only has one overall workflow for topic branches so you don't have to distinguish between the "unshared" and "shared" topic branches that I was privately discussing before as a possibility. WARNING. Git newbies will blanch when they first look at the above URL because there is so much detail there, but that detail is ultimately a good thing. Furthermore, they are first urged to read the initial chapters of the Pro Git book <a free download from http://git-scm.com/book> and also run git help <commandname> on the mentioned commands. But I was a complete git newbie not that long ago, but now I actually understand almost everything said at that URL. Thus, if I can understand that URL, the other newbies here should be able to do that as well if they do their git homework. :-) Also note that CMake has a very large number of developers coming from a wide variety of backgrounds (many of them git newbies to start with) and over years of lurking on the CMake devel list I have often heard questions concerning the git workflow which were normally answered by "look at the above URL". However, I haven't noticed any complaints about that workflow which says a lot about how well it works for that disparate set of developers. Anyhow, (for what it is worth because I still don't have much git experience) my vote is to use this solution for the PLplot workflow. What do the rest here (especially Hazen and Hez who are the active PLplot developers who are experienced with git) think of this possibility? 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