<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&#39;s source code&#39;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 &quot;master&quot; version of the source code on GitHub.  However, support will no longer be provided for individual developers to branch off &quot;master&quot; and to contribute code through &quot;pull&quot; or &quot;merge&quot; 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 &quot;archive&quot;.</span><br></font></li><li><font color="#0000ff"><span style="font-family:georgia,serif">Create a copy of &quot;archive&quot; 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 &quot;my-code&quot; 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 &quot;archive&quot; and &quot;my-code&quot; 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 &quot;archive&quot; and &quot;my-code&quot;.</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 &quot;archive&quot; and &quot;my-code&quot;.</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/ &gt; code-contribution.patch</span></li><li><font color="#0000ff"><span style="font-family:georgia,serif">Email &quot;code-contribution.patch&quot; 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&#39;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>