<div dir="ltr"><div class="gmail_default" style="font-family:georgia,serif;font-size:small">Dear ESP-r Community,</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small"><br></div><div class="gmail_default" style="font-family:georgia,serif;font-size:small">This is further to the email Alex Ferguson distributed regarding the electronic meeting on November 7. The purpose of this meeting is to discuss and agree a set of procedures for contributing source code to continue the evolution of ESP-r.</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small"><br></div><div class="gmail_default" style="font-family:georgia,serif;font-size:small">As most of you will be aware, ESP-r's source code's repository was transitioned from a Subversion server to GitHub a number of months ago. The transition to a new version control tool (git) has not been the smoothest for many concerned (including me). Moving forward, we are planning on continuing to manage the "master" version of the source code on GitHub. However, support will no longer be provided for individual developers to branch off "master" and to contribute code through "pull" or "merge" requests. Rather, a simple (admittedly unsophisticated) set of procedures are being proposed and will be discussed during the electronic meeting November 7. The proposed set of procedures is outlined below.</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small"><br></div><div class="gmail_default" style="font-family:georgia,serif;font-size:small">I look forward to discussing this on November 7 so that we can move forward on incorporating a number of lingering code contributions.</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small"><br></div><div class="gmail_default" style="font-family:georgia,serif;font-size:small">Regards,</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small">- Ian</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small"><br></div><div class="gmail_default" style="font-family:georgia,serif;font-size:small"><br></div><div class="gmail_default" style><div class="gmail_default" style><font face="georgia, serif"><br></font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"><u>Proposed code contribution procedures</u></font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"><br></font></div><div class="gmail_default" style><ol><li><font color="#0000ff"><span style="font-family:georgia,serif">Download a ZIP of the latest source from <a href="https://github.com/ESP-rCommunity/ESP-rSource">https://github.com/ESP-rCommunity/ESP-rSource</a>.</span><br></font></li><li><font color="#0000ff"><span style="font-family:georgia,serif">Extract the ZIP archive into a directory called "archive".</span><br></font></li><li><font color="#0000ff"><span style="font-family:georgia,serif">Create a copy of "archive" using the following command: </span></font><span style="font-family:georgia,serif;color:rgb(0,0,255)">cp -R archive my-code</span></li><li><font color="#0000ff"><span style="font-family:georgia,serif">Merge your code changes into the "my-code" directory.</span><br></font></li><li><font color="#0000ff"><span style="font-family:georgia,serif">Run a recursive diff to ensure that the only differences between "archive" and "my-code" are your intended additions, deletions, and changes.</span><br></font></li><li><font color="#0000ff"><span style="font-family:georgia,serif">Do a complete build of "archive" and "my-code".</span><br></font></li><li><font color="#0000ff"><span style="font-family:georgia,serif">Run <a href="http://tester.pl">tester.pl</a> to contrast the simulation predictions between "archive" and "my-code".</span><br></font></li><li><font color="#0000ff"><span style="font-family:georgia,serif">Create a patch of your code changes using the following command: </span></font><span style="font-family:georgia,serif;color:rgb(0,0,255)">diff -rupN archive/ my-code/ > code-contribution.patch</span></li><li><font color="#0000ff"><span style="font-family:georgia,serif">Email "code-contribution.patch" to the archivist using the email template below.</span><br></font></li></ol></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"><br></font></div><div class="gmail_default" style><font color="#0000ff"><span style="font-family:georgia,serif">Email template for code contributions:</span><br></font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"><br></font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff">Send a note to the archivist using the template below once you have completed these steps.</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"><br></font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff">Summary of changes:</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff">- If the submitted code bundles together numerous contributions, then</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> provide a one or two sentence description of each. Use a separate point</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> for each item and clearly indicate whether it provides new functionality</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> for the user, repairs a bug, tidies code, or is a work in progress. Do not</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> dwell on the details</font><span style="color:rgb(0,0,255);font-family:georgia,serif"> but rather provide a high-level description that communicates</span></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> the significance of the change to users and other developers.</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff">- If new functionality is provided for the user, then indicate whether this</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> affects the Simulator, the Project Manager, the Results Analyzer, etc.</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> If this code affects the Project Manager or Results Analyzer, then</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> detail this change from the user's perspective. If a new model has been</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> added, then provide a citation to a thesis or a paper that describes its</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> theoretical basis.</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff">- If a bug has been repaired, then indicate whether this affects the</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> Simulator, the Project Manager, the Results Analyzer, etc. If it affects</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> simulation results, then detail under what circumstances.</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff">- If this change tidies code without providing (at this point in time) new</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> functionality or repairing a bug, then clearly indicate this.</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff">- If this contribution is a work in progress that does not provide (at this</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> point in time) new functionality or repair a bug, then clearly indicate</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> this.</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff">- IMPORTANT: Use proper grammar and spelling!</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"><br></font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"><br></font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff">Testing summary:</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff">- Successfully compiled GTK and X11 versions of ESP-r on Linux</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> (GCC x.y.z).</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff">- Successfully compiled X11 version on Cygwin (GCC x.y.z).</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff">- Exercised relevant bps and prj menus for both GTK and X11</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> versions on Linux. All menus found to work as expected.</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff">- Ran <a href="http://tester.pl">tester.pl</a> over complete test suite comparing archive to my-code using</font></div><div class="gmail_default" style><font face="georgia, serif" color="#0000ff"> X11 version on Linux. All test cases passed: no differences reported.</font></div><div class="gmail_default" style="font-family:georgia,serif;font-size:small"><br></div></div></div>