<div dir="ltr">Hi Frank,<div class="gmail_extra"><br><div class="gmail_quote">On Fri, Nov 8, 2013 at 2:44 PM, Frank Shearar <span dir="ltr">&lt;<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@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 class="im">On 8 November 2013 22:30, Chris Muller &lt;<a href="mailto:asqueaker@gmail.com">asqueaker@gmail.com</a>&gt; wrote:<br>

&gt; The trunk is a huge part of the Squeak development process and<br>
&gt; ecosystem that deserves and needs representation somewhere in the<br>
&gt; system.  Access to it is reasonably needed by ReleaseBuilder,<br>
&gt; Installer, <a href="http://source.squeak.org" target="_blank">source.squeak.org</a>&#39;s SqueakSource and<br>
&gt; MonticelloConfigurations.<br>
<br>
</div>Does noone else in the Squeak community use MCMs? I don&#39;t, but my<br>
libraries are all very, very small.<br>
<div class="im"><br>
&gt; Squeak has been using its own flavor of Monticello for several years<br>
&gt; now, as does Pharo and GemStone.  So, to me, it feels fine to make it<br>
&gt; Monticello-For-Squeak, meaning to relax restrictions imposed by<br>
&gt; multiplatform so it can go as far as we want toward supporting the<br>
&gt; Squeak process.<br>
<br>
</div>It&#39;s not really germane to this discussion, but if I could flick a<br>
switch and have us updating from github, I would do so without<br>
hesitation. Monticello predates git by about 3 years, so we were right<br>
on the bleeding edge there for a while, but git is now very, very far<br>
ahead. It just makes so much sense to me to just use a world class<br>
tool that _we don&#39;t have to maintain_. (*)<br></blockquote><div><br></div><div>Here&#39;s an example of why surrendering one&#39;s source code control to something else is a really bad idea for an IDE:</div><div><br>
</div><div>&quot;When doing a git clone, I do get the following:</div><div><br></div><div><br></div><div>Philippe@gravitation7 ~</div><div>$ git clone --depth=1 <a href="https://github.com/pharo-project/pharo-vm.git">https://github.com/pharo-project/pharo-vm.git</a></div>
<div>Cloning into &#39;pharo-vm&#39;...</div><div>remote: Counting objects: 17493, done.</div><div>remote: Compressing objects: 100% (12363/12363), done.</div><div>remote: Total 17493 (delta 4271), reused 17137 (delta 4143)</div>
<div>Receiving objects: 100% (17493/17493), 19.28 MiB | 1.88 MiB/s, done.</div><div>Resolving deltas: 100% (4271/4271), done.</div><div>Checking connectivity... done</div><div>error: unable to create file mc/VMMaker-oscog.package/GeniePlugin.class/instance</div>
<div>/primSameClassAbsoluteStrokeDistanceMyPoints.otherPoints.myVectors.otherVectors.</div><div>mySquaredLengths.otherSquaredLengths.myAngles.otherAngles.maxSizeAndReferenceFla</div><div>g.rowBase.rowInsertRemove.rowInsertRemoveCount..st (Filename too long)</div>
<div>Checking out files: 100% (17525/17525), done.</div><div>fatal: unable to checkout working tree</div><div>warning: Clone succeeded, but checkout failed.</div><div>You can inspect what was checked out with &#39;git status&#39;</div>
<div>and retry the checkout with &#39;git checkout -f HEAD&#39;</div><div><br></div><div>Pretty weird error I&#39;d say.</div><div><br></div><div>Anyone knowing what this is related to?&quot;</div><div><br></div><div>IMO having Monticello under our own control is a key strength.  yes, it&#39;s effortful to maintain but I don&#39;t see why we can&#39;t summon that effort.  I do fear that if we don&#39;t we just become like everything else and soon enough we&#39;re just another scripting language.  The Smalltalk team had a name for this, something like &quot;error 22&quot;, meaning depending on the success of other projects or infrastructure.  It&#39;s a bad idea, unless its bedrock.</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 class="im"><br>
&gt; Having said that, I must admit this really does make it<br>
&gt; Squeak-specific, no longer generic.  So, maybe an alternative should<br>
&gt; be to model our development process elements in a new package,<br>
&gt; SqueakDevelopmentProcess (?), which would depend on our Squeak&#39;s<br>
&gt; generic Monticello to represent the elements of our development<br>
&gt; process.<br>
<br>
</div>I&#39;m not terribly concerned with Squeak-specific or otherwise. It&#39;s<br>
just that it&#39;s _trunk_ specific. I&#39;d rather see a<br>
SqueakDevelopmentProcess package than see it in the Monticello<br>
package.<br>
<br>
frank<br>
<br>
(*) Finding that switch to flick is pretty hard though, which is why I<br>
don&#39;t rant and rave about this all the time. Filetree&#39;s OK, but<br>
destroys the ability of browsing source on the git repository (but<br>
gives you the proper fine-grained version control you&#39;d want).<br>
gitfiletree supplies a Pharo UI to filetree, and it would be<br>
worthwhile to port that UI to Squeak, through ToolBuilderification.<br>
Continuing this discussion would necessitate a subject thread change!<br>
<div class=""><div class="h5"><br>
&gt; On Fri, Nov 8, 2013 at 3:12 PM, Nicolas Cellier<br>
&gt; &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt; wrote:<br>
&gt;&gt; I have same feeling as Frank,<br>
&gt;&gt; a specific address of a specific repository for a specific usage has not<br>
&gt;&gt; much thing to do in MC.<br>
&gt;&gt; MC package should not integrate each and every possible usage of MC.<br>
&gt;&gt; If this does not belong to ReleaseBuilder, then we can make it a System<br>
&gt;&gt; thing...<br>
&gt;&gt; If it&#39;s only for MCM, didn&#39;t we get a MCMcmUpdater defaultUpdateURL?<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 2013/11/8 Chris Muller &lt;<a href="mailto:asqueaker@gmail.com">asqueaker@gmail.com</a>&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; MonticelloConfigurations has no dependency on ReleaseBuilder and I<br>
&gt;&gt;&gt; don&#39;t think we should introduce one.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; If you at least acknowledge &quot;trunk&quot; is a real-thing in the real world,<br>
&gt;&gt;&gt; then note existence of MCRepository&gt;&gt;#trunk.  Sure, we could make a<br>
&gt;&gt;&gt; class-var or something if that helps you feel better, but my opinion<br>
&gt;&gt;&gt; right now is that is not necessary because code can change if/when it<br>
&gt;&gt;&gt; needs to.  Let&#39;s not let maybe-future-pie-in-the-sky-perfect be the<br>
&gt;&gt;&gt; enemy of pragmatic progress in the present.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Fri, Nov 8, 2013 at 10:33 AM, Frank Shearar &lt;<a href="mailto:frank.shearar@gmail.com">frank.shearar@gmail.com</a>&gt;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt; &gt; On 8 November 2013 15:25,  &lt;<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>&gt; wrote:<br>
&gt;&gt;&gt; &gt;&gt; Chris Muller uploaded a new version of Monticello to project The Trunk:<br>
&gt;&gt;&gt; &gt;&gt; <a href="http://source.squeak.org/trunk/Monticello-cmm.575.mcz" target="_blank">http://source.squeak.org/trunk/Monticello-cmm.575.mcz</a><br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; ==================== Summary ====================<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; Name: Monticello-cmm.575<br>
&gt;&gt;&gt; &gt;&gt; Author: cmm<br>
&gt;&gt;&gt; &gt;&gt; Time: 3 October 2013, 9:42:40.555 pm<br>
&gt;&gt;&gt; &gt;&gt; UUID: daeb51c6-0b6f-41db-883d-e9764e61d8c5<br>
&gt;&gt;&gt; &gt;&gt; Ancestors: Monticello-cmm.573<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; - Integrate Berts suggestions.  Refactored and renamed the API for the<br>
&gt;&gt;&gt; &gt;&gt; new history and origin browsing functions to avoid ambiguity with other MC<br>
&gt;&gt;&gt; &gt;&gt; domain elements.  Went from &quot;version&quot; nomenclature to &quot;history&quot;.<br>
&gt;&gt;&gt; &gt;&gt; - Related to those functions, browsing a list of patch operations is<br>
&gt;&gt;&gt; &gt;&gt; now abstracted from browsing a Patch.  MCPatch is now a MCOperationsList<br>
&gt;&gt;&gt; &gt;&gt; and, likewise, a MCPatchBrowser inherits from a MCOperationsBrowser.<br>
&gt;&gt;&gt; &gt;&gt; - Added well-known repository accessors for #trunk and #packageCache,<br>
&gt;&gt;&gt; &gt;&gt; and #trunkUrlString avoids scattering the hard-coded url string literal in<br>
&gt;&gt;&gt; &gt;&gt; so many places.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; I don&#39;t like this last item. MCHttpRepository has no business knowing<br>
&gt;&gt;&gt; &gt; about any particular location, nor should we commit ourselves to any<br>
&gt;&gt;&gt; &gt; particular repository implementation. For instance, it might make a<br>
&gt;&gt;&gt; &gt; whole lot of sense to build a repository backed by Cassandra.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; I&#39;m not convinced that ReleaseBuilder isn&#39;t the right place for this<br>
&gt;&gt;&gt; &gt; info. Or, to avoid the double negative, I think ReleaseBuilder is the<br>
&gt;&gt;&gt; &gt; place that should know about the trunk URL, because ReleaseBuilder&#39;s<br>
&gt;&gt;&gt; &gt; the class responsible for this kind of thing. One kind of release we<br>
&gt;&gt;&gt; &gt; build is a release candidate, for instance.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; frank<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>
</div></div>