<div dir="ltr">Hi Dale,<div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jun 26, 2014 at 3:16 PM, Dale Henrichs <span dir="ltr">&lt;<a href="mailto:dale.henrichs@gemtalksystems.com" target="_blank">dale.henrichs@gemtalksystems.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">My favorite feature by far is the ability to look at the git history of the methods themselves ... just the other day I had a bug that I was tracking down, and by looking at the git history I discovered that a critical change had been made to that method 1 year 12 days ago ... from that I was able to look at all of the changes to all of the packages that had been made in the same commit (the critical code had not only been moved to a different class but the critical method had been moved to a separate package ... and from that I was able to see that a bug had been introduced when not all of the critical method was moved ... bug fixed ...</div>
</blockquote><div><br></div><div>Chris Muller has recently done some superb work in Squeak with his Magma database that provides exactly this within the existing Monticello framework.  In current Squeak 4.5 images if you add the repository</div>
<div><br></div><div><div><span style="white-space:pre">        </span>MCHttpRepository</div><div><span class="" style="white-space:pre">        </span><span style="white-space:pre">        </span>location: &#39;<a href="http://box4.squeak.org:8888/trunk">http://box4.squeak.org:8888/trunk</a>&#39;</div>
<div><span class="" style="white-space:pre">        </span><span style="white-space:pre">        </span>user: &#39;squeak&#39;</div><div><span class="" style="white-space:pre">        </span><span style="white-space:pre">        </span>password: &#39;squeak&#39;</div>
</div><div><br></div><div>to the Monticello Browser and then add it to the packages one is interested in (a script to add it to all is trivial), then a &quot;Browse mc history&quot; menu item becomes available on the class and method lists in the browser and voila, one can browse the entire class and/or method history.</div>
<div><br></div><div>This feature has been missing for a long time.  I really needed it this morning and wasn&#39;t quite aware that it was available already.   I expect this will become a standard feature of new Squeak releases.  The server can easily be duplicated on one&#39;s own machine for working detached from the internet (e.g. via <a href="http://localhost:8888/mchistory">http://localhost:8888/mchistory</a>) and updates itself at regular intervals.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>
<div><br></div><div>Besides method versions, you can look at the git history for a class, package or metacello project .... these are thing that would take a bit of work to accomplish using just Monticello ... and if you were to attempt to do it, the simplest thing to do would be to copy all of the packages into a git repository and just use git:) Frank Shearar wrote some code that did something along these lines a couple of years ago ...</div>
</div></div></blockquote><div><br></div><div>But the work&#39;s mostly been done.  Chris&#39;s work provides class &amp; method.  Package history is there already, with &quot;search history&quot; providing free text search through a specific package&#39;s history, and Chris will be providing keyword search across all packages soon.<br>
</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><span class=""><font color="#888888">
<div><br></div><div>Dale</div><div><br></div></font></span></div></div><div class=""><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jun 26, 2014 at 2:21 PM, kilon alios <span dir="ltr">&lt;<a href="mailto:kilon.alios@gmail.com" target="_blank">kilon.alios@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">another advantage of git is source code searches. It will essentially allow pharoers to search pharo code online and not just being isolated in their image. The search does not return just a whole library but even code fragments. </div>

<div><div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jun 27, 2014 at 12:17 AM, Sebastian Sastre <span dir="ltr">&lt;<a href="mailto:sebastian@flowingconcept.com" target="_blank">sebastian@flowingconcept.com</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><div><br><div><div>On Jun 26, 2014, at 3:52 PM, Esteban Lorenzano &lt;<a href="mailto:estebanlm@gmail.com" target="_blank">estebanlm@gmail.com</a>&gt; wrote:</div>


<br><blockquote type="cite"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">On 26 Jun 2014, at 14:56, Sven Van Caekenberghe &lt;</span><a href="mailto:sven@stfx.eu" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">sven@stfx.eu</a><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">&gt; wrote:</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">


<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">


<blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">


<br>On 26 Jun 2014, at 19:07, Dale Henrichs &lt;<a href="mailto:dale.henrichs@gemtalksystems.com" target="_blank">dale.henrichs@gemtalksystems.com</a>&gt; wrote:<br><br><blockquote type="cite">I think that it is possible to most if not all of the git work support into the Smalltalk development environment ... I am doing that for GemStone with tODE[6] and I do find myself going to the go to the command line much less frequently ... but in tODE I have built a git merge tool and a git diff tool ... you can get the git history of a method from the browser, etc.<span> </span><br>


<br>Without a relatively high degree of tool integration it can be clunky to use git ... I am very willing to share what I&#39;ve done/learned in tODE with Pharo tool builders and of course I think Thierry Goubier has actually been ahead of me in several different areas ...<br>


</blockquote><br>That is my analysis: it works today, &#39;perfectly&#39;, but there is not enough tools support to make it as easy as Monticello as a whole is today.<br><br>If these tools exist, or we can build them quickly based Dale&#39;s code, that would be cool (I guess its all OSProcess underneath, which I find so/so, a direct integration is better) that would be good.<br>


<br>Would having this change our world fundamentally ? No, IMHO<br>Is it worth the effort, is the ROI there ? I don&#39;t think so<br></blockquote><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">


<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">I disagree here. I think moving our development to git will change deeply (for good) our community processes and then I think it totally worths the effort.<span> </span></span></blockquote>


</div><br><div><br></div></div><div>big +1 here</div><div><br></div><div>The social benefit of having your code exposed in places like github outweighs by at an astronomical scale the current lack of amazing mergetools</div>


<div><br></div><div>If your code cannot be exposed without friction you’re done </div><div><br></div><div>The noise of the jungle of 3-new-libraries-per-day-that-can-be-installed-in-one-shot <i>will</i> make your work invisible</div>


<div><br></div><div><br></div><div><br></div><div><br></div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>
</div></div>