<div dir="ltr">Hi both,<br><div><div class="gmail_extra"><br><div class="gmail_quote">2016-07-25 17:55 GMT+02:00 Chris Muller <span dir="ltr"><<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>></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><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'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><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div><br>
On Mon, Jul 25, 2016 at 8:24 AM, <<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>> wrote:<br>
> Tim Felgentreff uploaded a new version of Monticello to project The Trunk:<br>
> <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>
><br>
> ==================== Summary ====================<br>
><br>
> Name: Monticello-tfel.637<br>
> Author: tfel<br>
> Time: 25 July 2016, 3:24:24.996828 pm<br>
> UUID: cf0d6af1-c703-5044-9c57-e798b0cf3abf<br>
> Ancestors: Monticello-cmm.636<br>
><br>
> add a button for rejecting all incoming conflicts that only change AST<br>
><br>
> =============== Diff against Monticello-cmm.636 ===============<br>
><br>
> Item was added:<br>
> + ----- Method: MCConflict>>chooseSameAST (in category 'as yet unclassified') -----<br>
> + chooseSameAST<br>
> + | fromSrc toSrc |<br>
> + (self definition isNil or: [self definition isMethodDefinition not])<br>
> + ifTrue: [^ self].<br>
> + fromSrc := (Parser new parse: operation fromSource class: nil class)<br>
> + generate decompile asString.<br>
> + toSrc := (Parser new parse: operation toSource class: nil class)<br>
> + generate decompile asString.<br>
> + fromSrc = toSrc ifTrue: [self chooseLocal].!<br>
></div></div></blockquote><div><br></div><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's another problem here: decompile: sometimes fail, so we should protect ourselves...<br><br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
> Item was changed:<br>
> ----- Method: MCMergeBrowser>>buttonSpecs (in category 'as yet unclassified') -----<br>
> buttonSpecs<br>
> ^ #((Merge merge 'Proceed with the merge' canMerge)<br>
> (Cancel cancel 'Cancel the merge')<br>
> ('All Newer' chooseAllNewerConflicts 'Choose all newer conflict versions')<br>
> ('All Older' chooseAllOlderConflicts 'Choose all older conflict versions')<br>
> ('Rest Reject' chooseAllUnchosenLocal 'Choose local versions of all remaining conflicts')<br>
> ('Rest Accept' chooseAllUnchosenRemote 'Choose remote versions of all remaining conflicts')<br>
> + ('Accept same source' chooseAllSameAST 'Choose all local conflicting versions that have essentially the same code')<br>
> )!<br>
><br></div></div></blockquote><div><br></div><div>There'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't be the same word, much confusing!<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
> Item was added:<br>
> + ----- Method: MCMergeBrowser>>chooseAllSameAST (in category 'as yet unclassified') -----<br>
> + chooseAllSameAST<br>
> + conflicts do: [ :ea |<br>
> + ea chooseSameAST ].<br>
> + self changed: #text; changed: #list.!<br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div></div></div>