<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2016-07-25 23:56 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">Why interesting? I tend to think that people should not be committing<br>
changes in which only the formatting was changed. So, maybe better to<br>
take measures to minimize that from happening in the first place than<br>
introduce a button to "undo" it later....?<br>
<div class="HOEnZb"><div class="h5"><br></div></div></blockquote><div><br></div><div>Well, it happens that such change are interesting...<br></div><div>For example some literal arrays are table that can suffer from misalignment.<br></div><div>Or some constant has been expressed in decimal when the intention would have been more clear with hexa.<br><br></div><div>Also the feature concerns comment conflicts.<br><br></div><div>It's also interesting because it happens that we compare a very distant branch like Squeak vs Pharo<br></div><div>and we don't want to be perturbated by cosmetic conflicts<br></div><div>(ok this happens less and less as the divergence increase).<br> <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">
On Mon, Jul 25, 2016 at 4:43 PM, Nicolas Cellier<br>
<<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>> wrote:<br>
> Whatever the flow of critics, I find the feature interesting.<br>
><br>
><br>
><br>
> 2016-07-25 23:17 GMT+02:00 Chris Cunningham <<a href="mailto:cunningham.cb@gmail.com">cunningham.cb@gmail.com</a>>:<br>
>><br>
>><br>
>><br>
>> On Mon, Jul 25, 2016 at 10:03 AM, Nicolas Cellier<br>
>> <<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>> wrote:<br>
>>><br>
>>> Hi both,<br>
>>><br>
>>> 2016-07-25 17:55 GMT+02:00 Chris Muller <<a href="mailto:asqueaker@gmail.com">asqueaker@gmail.com</a>>:<br>
>>>><br>
>>>> 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>
>>><br>
>>><br>
>>> I would say, why only one? Why a lack of symmetry?<br>
>>> The same AST means that some formatting has been performed.<br>
>>> I think AST currently contains comments, but see below...<br>
>>><br>
>>> Of course, with auto-format that we currently apply in the UI, we can't<br>
>>> even visualize those diff (grrr! I hate those auto-format)<br>
>>> So anyway we are blind to these changes, we could as well throw a dice ;)<br>
>>><br>
>>>><br>
>>>><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<br>
>>>> > 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<br>
>>>> > unclassified') -----<br>
>>>> > + chooseSameAST<br>
>>>> > + | fromSrc toSrc |<br>
>>>> > + (self definition isNil or: [self definition isMethodDefinition<br>
>>>> > not])<br>
>>>> > + ifTrue: [^ self].<br>
>>>> > + fromSrc := (Parser new parse: operation fromSource class: nil<br>
>>>> > class)<br>
>>>> > + generate decompile asString.<br>
>>>> > + toSrc := (Parser new parse: operation toSource class: nil<br>
>>>> > class)<br>
>>>> > + generate decompile asString.<br>
>>>> > + fromSrc = toSrc ifTrue: [self chooseLocal].!<br>
>>>> ><br>
>>><br>
>>><br>
>>> OK, so this does not even take the comments in account, because this is<br>
>>> decompiled code (reconstructed AST) not original AST.<br>
>>> There's another problem here: decompile: sometimes fail, so we should<br>
>>> protect ourselves...<br>
>>><br>
>>><br>
>>>><br>
>>>> > Item was changed:<br>
>>>> > ----- Method: MCMergeBrowser>>buttonSpecs (in category 'as yet<br>
>>>> > unclassified') -----<br>
>>>> > buttonSpecs<br>
>>>> > ^ #((Merge merge 'Proceed with the merge' canMerge)<br>
>>>> > (Cancel cancel 'Cancel the merge')<br>
>>>> > ('All Newer' chooseAllNewerConflicts 'Choose all newer<br>
>>>> > conflict versions')<br>
>>>> > ('All Older' chooseAllOlderConflicts 'Choose all older<br>
>>>> > conflict versions')<br>
>>>> > ('Rest Reject' chooseAllUnchosenLocal 'Choose local<br>
>>>> > versions of all remaining conflicts')<br>
>>>> > ('Rest Accept' chooseAllUnchosenRemote 'Choose remote<br>
>>>> > versions of all remaining conflicts')<br>
>>>> > + ('Accept same source' chooseAllSameAST 'Choose all<br>
>>>> > local conflicting versions that have essentially the same code')<br>
>>>> > )!<br>
>>>> ><br>
>>><br>
>>><br>
>>> There's another problem above:<br>
>>> Rest Accept is for accepting the remote changes<br>
>>> Accept same source is for accepting the local...<br>
>>><br>
>>> That can't be the same word, much confusing!<br>
>>><br>
>> Right. If that option is added, it must be called 'Reject same source'.<br>
>><br>
>> Probably call it something else: 'Reject cosmetic changes', maybe.<br>
>><br>
>> In any case, let's not make it worse after recently cleaning up the<br>
>> wording.<br>
>><br>
>> -cbc<br>
>><br>
>><br>
>><br>
>><br>
><br>
><br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div></div>