From: Phil R. <p.d...@gm...> - 2015-05-23 08:23:34
|
Hi Alan My initial thought was as yours. To have a separate plplot6 branch. I have a feeling that with so many of us it might be difficult to keep track of sending patches round. Do you know how that would work with clashes? I.e if two people send patches round that clash do we have the potential for every developer would generate their own personal resolution that would clash with everyone else's? It also sounds quite was for someone to miss a patch. As you identified, we certainly need parallel development on 5.8 and 6. But if those branches are public they need to not disappear. I could make one last alternative suggestion. We could have a private git site. This could have separate 5.8 and 6 branches. Then when we are ready to merge we can rebase the branch, push it to our sf repo and close the site. Then we know that only the devs will have access and it's our own fault if we have uncommited work based on the branch that dissapears. If it is useful I have a static ip, a fibre optic internet connection and an always on Linux box that I use as a media centre. It might have a 98% uptime rather than 99.9% but it would be free and I'd be happy to set it up for access for everyone. Phil -----Original Message----- From: "Alan W. Irwin" <ir...@be...> Sent: 23/05/2015 00:27 To: "PLplot development list" <Plp...@li...> Subject: [Plplot-devel] PLplot 6 and git Assuming we move forward with plplot6 development in the short term (either with or without moving to C++ for the core library depending on what the consensus is here on that topic), then we should also start thinking about the git workflow implications of such a large and important development topic. Our current rebase workflow does allow us to create a public topic branch called (say) plplot6 which would make it very easy for us to collaborate on PLplot 6 development on that branch. But our workflow rules absolutely prohibit merging that public branch back to master unless plplot6 is rebased, but rebasing of a public branch is never a good idea since it annoys users who are depending on some of those public commits which disappear due to rebasing. Of course, one possibility is simply never to rebase and never to merge and then when the plplot6 branch has matured we could rename the master branch to plplot5 and rename plplot6 to master. But I am concerned we are all in such a habit of rebasing private branches we are working on, that someone would try that for the public plplot6 branch which would not be a good result for the above reason. So because of that concern about accidental rebasing, my gut feeling is it would be better to create plplot6 as a private topic branch where local private rebases are fine, and simply collaborate on plplot6 development using the well-known "git format-patch"/"git am" method that has worked reasonably well in the past for collaborations between Phil, Jim, and me; which I am encouraging Arjen to use in his future collaboration with me on the new fortran binding private topic branch; and which other software projects use a lot for their own private topic branch development. Of course, another possibility is to change to an alternative git workflow i.e., the merge-only first-parent linear history workflow recommended by Brad King that he suggested we might want to move to after all our developers are completely comfortable with git using the current rebase workflow that he recommended we start with. That alternative does allow easier public collaboration at the expense of a lot more complexity in both following and enforcing the workflow. But I think it is much too soon for such a change in our workflow because not all our developers are comfortable with git yet. Furthermore, I quite like the current rebase-only workflow (as described in README.developers) so I would like to continue with that indefinitely and develop major topics such as plplot6 always on rebased private branches using "git format-patch"/"git am". Comments? 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 __________________________ ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Plplot-devel mailing list Plp...@li... https://lists.sourceforge.net/lists/listinfo/plplot-devel |