<div dir="ltr">Whatever the flow of critics, I find the feature interesting.<br><br><div><div class="gmail_extra"><br><div class="gmail_quote">2016-07-25 23:17 GMT+02:00 Chris Cunningham <span dir="ltr">&lt;<a href="mailto:cunningham.cb@gmail.com" target="_blank">cunningham.cb@gmail.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Mon, Jul 25, 2016 at 10:03 AM, Nicolas Cellier <span dir="ltr">&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi both,<br><div><div class="gmail_extra"><br><div class="gmail_quote"><span>2016-07-25 17:55 GMT+02:00 Chris Muller <span dir="ltr">&lt;<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Please do not use abbreviations.  What is AST?  Abstract Syntax Tree?<br>
This takes the Monticello tool to a new level of technical<br>
intimidation and confusion.<br>
<br>
Why do we need a button for this?<br></blockquote><div><br></div></span><div>I would say, why only one? Why a lack of symmetry?<br></div><div>The same AST means that some formatting has been performed.<br>I think AST currently contains comments, but see below...<br><br></div><div>Of course, with auto-format that we currently apply in the UI, we can&#39;t even visualize those diff (grrr! I hate those auto-format)<br></div><div>So anyway we are blind to these changes, we could as well throw a dice ;)<br></div><span><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div><br>
On Mon, Jul 25, 2016 at 8:24 AM,  &lt;<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>&gt; wrote:<br>
&gt; Tim Felgentreff uploaded a new version of Monticello to project The Trunk:<br>
&gt; <a href="http://source.squeak.org/trunk/Monticello-tfel.637.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/trunk/Monticello-tfel.637.mcz</a><br>
&gt;<br>
&gt; ==================== Summary ====================<br>
&gt;<br>
&gt; Name: Monticello-tfel.637<br>
&gt; Author: tfel<br>
&gt; Time: 25 July 2016, 3:24:24.996828 pm<br>
&gt; UUID: cf0d6af1-c703-5044-9c57-e798b0cf3abf<br>
&gt; Ancestors: Monticello-cmm.636<br>
&gt;<br>
&gt; add a button for rejecting all incoming conflicts that only change AST<br>
&gt;<br>
&gt; =============== Diff against Monticello-cmm.636 ===============<br>
&gt;<br>
&gt; Item was added:<br>
&gt; + ----- Method: MCConflict&gt;&gt;chooseSameAST (in category &#39;as yet unclassified&#39;) -----<br>
&gt; + chooseSameAST<br>
&gt; +       | fromSrc toSrc |<br>
&gt; +       (self definition isNil or: [self definition isMethodDefinition not])<br>
&gt; +               ifTrue: [^ self].<br>
&gt; +       fromSrc := (Parser new parse: operation fromSource class: nil class)<br>
&gt; +               generate decompile asString.<br>
&gt; +       toSrc := (Parser new parse: operation toSource class: nil class)<br>
&gt; +               generate decompile asString.<br>
&gt; +       fromSrc = toSrc ifTrue: [self chooseLocal].!<br>
&gt;</div></div></blockquote><div><br></div></span><div>OK, so this does not even take the comments in account, because this is decompiled code (reconstructed AST) not original AST.<br></div><div>There&#39;s another problem here: decompile: sometimes fail, so we should protect ourselves...<br><br></div><span><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>
&gt; Item was changed:<br>
&gt;   ----- Method: MCMergeBrowser&gt;&gt;buttonSpecs (in category &#39;as yet unclassified&#39;) -----<br>
&gt;   buttonSpecs<br>
&gt;         ^ #((Merge merge &#39;Proceed with the merge&#39; canMerge)<br>
&gt;                  (Cancel cancel &#39;Cancel the merge&#39;)<br>
&gt;                 (&#39;All Newer&#39; chooseAllNewerConflicts &#39;Choose all newer conflict versions&#39;)<br>
&gt;                 (&#39;All Older&#39; chooseAllOlderConflicts &#39;Choose all older conflict versions&#39;)<br>
&gt;                 (&#39;Rest Reject&#39; chooseAllUnchosenLocal &#39;Choose local versions of all remaining conflicts&#39;)<br>
&gt;                 (&#39;Rest Accept&#39; chooseAllUnchosenRemote &#39;Choose remote versions of all remaining conflicts&#39;)<br>
&gt; +               (&#39;Accept same source&#39; chooseAllSameAST &#39;Choose all local conflicting versions that have essentially the same code&#39;)<br>
&gt;   )!<br>
&gt;<br></div></div></blockquote><div><br></div></span><div>There&#39;s another problem above:<br></div><div>Rest Accept is for accepting the remote changes<br></div><div>Accept same source is for accepting the local...<br><br></div><div>That can&#39;t be the same word, much confusing!<br></div><span><br></span></div></div></div></div></blockquote></div></div><div>Right.  If that option is added, it must be called &#39;Reject same source&#39;.</div><div><br></div><div>Probably call it something else: &#39;Reject cosmetic changes&#39;, maybe.</div><div><br></div><div>In any case, let&#39;s not make it worse after recently cleaning up the wording.</div><div><br></div><div>-cbc</div></div><br></div></div>
<br><br>
<br></blockquote></div><br></div></div></div>