The Trunk: Monticello-tfel.637.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Monticello-tfel.637.mcz

commits-2
Tim Felgentreff uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-tfel.637.mcz

==================== Summary ====================

Name: Monticello-tfel.637
Author: tfel
Time: 25 July 2016, 3:24:24.996828 pm
UUID: cf0d6af1-c703-5044-9c57-e798b0cf3abf
Ancestors: Monticello-cmm.636

add a button for rejecting all incoming conflicts that only change AST

=============== Diff against Monticello-cmm.636 ===============

Item was added:
+ ----- Method: MCConflict>>chooseSameAST (in category 'as yet unclassified') -----
+ chooseSameAST
+ | fromSrc toSrc |
+ (self definition isNil or: [self definition isMethodDefinition not])
+ ifTrue: [^ self].
+ fromSrc := (Parser new parse: operation fromSource class: nil class)
+ generate decompile asString.
+ toSrc := (Parser new parse: operation toSource class: nil class)
+ generate decompile asString.
+ fromSrc = toSrc ifTrue: [self chooseLocal].!

Item was changed:
  ----- Method: MCMergeBrowser>>buttonSpecs (in category 'as yet unclassified') -----
  buttonSpecs
  ^ #((Merge merge 'Proceed with the merge' canMerge)
  (Cancel cancel 'Cancel the merge')
  ('All Newer' chooseAllNewerConflicts 'Choose all newer conflict versions')
  ('All Older' chooseAllOlderConflicts 'Choose all older conflict versions')
  ('Rest Reject' chooseAllUnchosenLocal 'Choose local versions of all remaining conflicts')
  ('Rest Accept' chooseAllUnchosenRemote 'Choose remote versions of all remaining conflicts')
+ ('Accept same source' chooseAllSameAST 'Choose all local conflicting versions that have essentially the same code')
  )!

Item was added:
+ ----- Method: MCMergeBrowser>>chooseAllSameAST (in category 'as yet unclassified') -----
+ chooseAllSameAST
+ conflicts do: [ :ea |
+ ea chooseSameAST ].
+ self changed: #text; changed: #list.!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Monticello-tfel.637.mcz

Chris Muller-3
Please do not use abbreviations.  What is AST?  Abstract Syntax Tree?
This takes the Monticello tool to a new level of technical
intimidation and confusion.

Why do we need a button for this?

On Mon, Jul 25, 2016 at 8:24 AM,  <[hidden email]> wrote:

> Tim Felgentreff uploaded a new version of Monticello to project The Trunk:
> http://source.squeak.org/trunk/Monticello-tfel.637.mcz
>
> ==================== Summary ====================
>
> Name: Monticello-tfel.637
> Author: tfel
> Time: 25 July 2016, 3:24:24.996828 pm
> UUID: cf0d6af1-c703-5044-9c57-e798b0cf3abf
> Ancestors: Monticello-cmm.636
>
> add a button for rejecting all incoming conflicts that only change AST
>
> =============== Diff against Monticello-cmm.636 ===============
>
> Item was added:
> + ----- Method: MCConflict>>chooseSameAST (in category 'as yet unclassified') -----
> + chooseSameAST
> +       | fromSrc toSrc |
> +       (self definition isNil or: [self definition isMethodDefinition not])
> +               ifTrue: [^ self].
> +       fromSrc := (Parser new parse: operation fromSource class: nil class)
> +               generate decompile asString.
> +       toSrc := (Parser new parse: operation toSource class: nil class)
> +               generate decompile asString.
> +       fromSrc = toSrc ifTrue: [self chooseLocal].!
>
> Item was changed:
>   ----- Method: MCMergeBrowser>>buttonSpecs (in category 'as yet unclassified') -----
>   buttonSpecs
>         ^ #((Merge merge 'Proceed with the merge' canMerge)
>                  (Cancel cancel 'Cancel the merge')
>                 ('All Newer' chooseAllNewerConflicts 'Choose all newer conflict versions')
>                 ('All Older' chooseAllOlderConflicts 'Choose all older conflict versions')
>                 ('Rest Reject' chooseAllUnchosenLocal 'Choose local versions of all remaining conflicts')
>                 ('Rest Accept' chooseAllUnchosenRemote 'Choose remote versions of all remaining conflicts')
> +               ('Accept same source' chooseAllSameAST 'Choose all local conflicting versions that have essentially the same code')
>   )!
>
> Item was added:
> + ----- Method: MCMergeBrowser>>chooseAllSameAST (in category 'as yet unclassified') -----
> + chooseAllSameAST
> +       conflicts do: [ :ea |
> +               ea chooseSameAST ].
> +       self changed: #text; changed: #list.!
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Monticello-tfel.637.mcz

Nicolas Cellier
Hi both,

2016-07-25 17:55 GMT+02:00 Chris Muller <[hidden email]>:
Please do not use abbreviations.  What is AST?  Abstract Syntax Tree?
This takes the Monticello tool to a new level of technical
intimidation and confusion.

Why do we need a button for this?

I would say, why only one? Why a lack of symmetry?
The same AST means that some formatting has been performed.
I think AST currently contains comments, but see below...

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)
So anyway we are blind to these changes, we could as well throw a dice ;)
 

On Mon, Jul 25, 2016 at 8:24 AM,  <[hidden email]> wrote:
> Tim Felgentreff uploaded a new version of Monticello to project The Trunk:
> http://source.squeak.org/trunk/Monticello-tfel.637.mcz
>
> ==================== Summary ====================
>
> Name: Monticello-tfel.637
> Author: tfel
> Time: 25 July 2016, 3:24:24.996828 pm
> UUID: cf0d6af1-c703-5044-9c57-e798b0cf3abf
> Ancestors: Monticello-cmm.636
>
> add a button for rejecting all incoming conflicts that only change AST
>
> =============== Diff against Monticello-cmm.636 ===============
>
> Item was added:
> + ----- Method: MCConflict>>chooseSameAST (in category 'as yet unclassified') -----
> + chooseSameAST
> +       | fromSrc toSrc |
> +       (self definition isNil or: [self definition isMethodDefinition not])
> +               ifTrue: [^ self].
> +       fromSrc := (Parser new parse: operation fromSource class: nil class)
> +               generate decompile asString.
> +       toSrc := (Parser new parse: operation toSource class: nil class)
> +               generate decompile asString.
> +       fromSrc = toSrc ifTrue: [self chooseLocal].!
>

OK, so this does not even take the comments in account, because this is decompiled code (reconstructed AST) not original AST.
There's another problem here: decompile: sometimes fail, so we should protect ourselves...

 
> Item was changed:
>   ----- Method: MCMergeBrowser>>buttonSpecs (in category 'as yet unclassified') -----
>   buttonSpecs
>         ^ #((Merge merge 'Proceed with the merge' canMerge)
>                  (Cancel cancel 'Cancel the merge')
>                 ('All Newer' chooseAllNewerConflicts 'Choose all newer conflict versions')
>                 ('All Older' chooseAllOlderConflicts 'Choose all older conflict versions')
>                 ('Rest Reject' chooseAllUnchosenLocal 'Choose local versions of all remaining conflicts')
>                 ('Rest Accept' chooseAllUnchosenRemote 'Choose remote versions of all remaining conflicts')
> +               ('Accept same source' chooseAllSameAST 'Choose all local conflicting versions that have essentially the same code')
>   )!
>

There's another problem above:
Rest Accept is for accepting the remote changes
Accept same source is for accepting the local...

That can't be the same word, much confusing!
 
> Item was added:
> + ----- Method: MCMergeBrowser>>chooseAllSameAST (in category 'as yet unclassified') -----
> + chooseAllSameAST
> +       conflicts do: [ :ea |
> +               ea chooseSameAST ].
> +       self changed: #text; changed: #list.!
>
>




Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Monticello-tfel.637.mcz

Levente Uzonyi
In reply to this post by commits-2
What if the decompiler fails? (Yes, there are a bunch of failing tests.)
What if the decompiler generates the same code for different input?

Levente

On Mon, 25 Jul 2016, [hidden email] wrote:

> Tim Felgentreff uploaded a new version of Monticello to project The Trunk:
> http://source.squeak.org/trunk/Monticello-tfel.637.mcz
>
> ==================== Summary ====================
>
> Name: Monticello-tfel.637
> Author: tfel
> Time: 25 July 2016, 3:24:24.996828 pm
> UUID: cf0d6af1-c703-5044-9c57-e798b0cf3abf
> Ancestors: Monticello-cmm.636
>
> add a button for rejecting all incoming conflicts that only change AST
>
> =============== Diff against Monticello-cmm.636 ===============
>
> Item was added:
> + ----- Method: MCConflict>>chooseSameAST (in category 'as yet unclassified') -----
> + chooseSameAST
> + | fromSrc toSrc |
> + (self definition isNil or: [self definition isMethodDefinition not])
> + ifTrue: [^ self].
> + fromSrc := (Parser new parse: operation fromSource class: nil class)
> + generate decompile asString.
> + toSrc := (Parser new parse: operation toSource class: nil class)
> + generate decompile asString.
> + fromSrc = toSrc ifTrue: [self chooseLocal].!
>
> Item was changed:
>  ----- Method: MCMergeBrowser>>buttonSpecs (in category 'as yet unclassified') -----
>  buttonSpecs
>   ^ #((Merge merge 'Proceed with the merge' canMerge)
>   (Cancel cancel 'Cancel the merge')
>   ('All Newer' chooseAllNewerConflicts 'Choose all newer conflict versions')
>   ('All Older' chooseAllOlderConflicts 'Choose all older conflict versions')
>   ('Rest Reject' chooseAllUnchosenLocal 'Choose local versions of all remaining conflicts')
>   ('Rest Accept' chooseAllUnchosenRemote 'Choose remote versions of all remaining conflicts')
> + ('Accept same source' chooseAllSameAST 'Choose all local conflicting versions that have essentially the same code')
>  )!
>
> Item was added:
> + ----- Method: MCMergeBrowser>>chooseAllSameAST (in category 'as yet unclassified') -----
> + chooseAllSameAST
> + conflicts do: [ :ea |
> + ea chooseSameAST ].
> + self changed: #text; changed: #list.!
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Monticello-tfel.637.mcz

Chris Muller-4
In reply to this post by Nicolas Cellier
> 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)

If we are able to identify when it only differs by format, then we
could have it ignore the "diff with pretty print" preference in that
case and always show the diff of the actual texts..

> ... snip ...
> There's another problem above:
> Rest Accept is for accepting the remote changes
> Accept same source is for accepting the local...
>
> That can't be the same word, much confusing!

+1

cbc
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Monticello-tfel.637.mcz

cbc
In reply to this post by Nicolas Cellier


On Mon, Jul 25, 2016 at 10:03 AM, Nicolas Cellier <[hidden email]> wrote:
Hi both,

2016-07-25 17:55 GMT+02:00 Chris Muller <[hidden email]>:
Please do not use abbreviations.  What is AST?  Abstract Syntax Tree?
This takes the Monticello tool to a new level of technical
intimidation and confusion.

Why do we need a button for this?

I would say, why only one? Why a lack of symmetry?
The same AST means that some formatting has been performed.
I think AST currently contains comments, but see below...

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)
So anyway we are blind to these changes, we could as well throw a dice ;)
 

On Mon, Jul 25, 2016 at 8:24 AM,  <[hidden email]> wrote:
> Tim Felgentreff uploaded a new version of Monticello to project The Trunk:
> http://source.squeak.org/trunk/Monticello-tfel.637.mcz
>
> ==================== Summary ====================
>
> Name: Monticello-tfel.637
> Author: tfel
> Time: 25 July 2016, 3:24:24.996828 pm
> UUID: cf0d6af1-c703-5044-9c57-e798b0cf3abf
> Ancestors: Monticello-cmm.636
>
> add a button for rejecting all incoming conflicts that only change AST
>
> =============== Diff against Monticello-cmm.636 ===============
>
> Item was added:
> + ----- Method: MCConflict>>chooseSameAST (in category 'as yet unclassified') -----
> + chooseSameAST
> +       | fromSrc toSrc |
> +       (self definition isNil or: [self definition isMethodDefinition not])
> +               ifTrue: [^ self].
> +       fromSrc := (Parser new parse: operation fromSource class: nil class)
> +               generate decompile asString.
> +       toSrc := (Parser new parse: operation toSource class: nil class)
> +               generate decompile asString.
> +       fromSrc = toSrc ifTrue: [self chooseLocal].!
>

OK, so this does not even take the comments in account, because this is decompiled code (reconstructed AST) not original AST.
There's another problem here: decompile: sometimes fail, so we should protect ourselves...

 
> Item was changed:
>   ----- Method: MCMergeBrowser>>buttonSpecs (in category 'as yet unclassified') -----
>   buttonSpecs
>         ^ #((Merge merge 'Proceed with the merge' canMerge)
>                  (Cancel cancel 'Cancel the merge')
>                 ('All Newer' chooseAllNewerConflicts 'Choose all newer conflict versions')
>                 ('All Older' chooseAllOlderConflicts 'Choose all older conflict versions')
>                 ('Rest Reject' chooseAllUnchosenLocal 'Choose local versions of all remaining conflicts')
>                 ('Rest Accept' chooseAllUnchosenRemote 'Choose remote versions of all remaining conflicts')
> +               ('Accept same source' chooseAllSameAST 'Choose all local conflicting versions that have essentially the same code')
>   )!
>

There's another problem above:
Rest Accept is for accepting the remote changes
Accept same source is for accepting the local...

That can't be the same word, much confusing!

Right.  If that option is added, it must be called 'Reject same source'.

Probably call it something else: 'Reject cosmetic changes', maybe.

In any case, let's not make it worse after recently cleaning up the wording.

-cbc



Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Monticello-tfel.637.mcz

Nicolas Cellier
Whatever the flow of critics, I find the feature interesting.


2016-07-25 23:17 GMT+02:00 Chris Cunningham <[hidden email]>:


On Mon, Jul 25, 2016 at 10:03 AM, Nicolas Cellier <[hidden email]> wrote:
Hi both,

2016-07-25 17:55 GMT+02:00 Chris Muller <[hidden email]>:
Please do not use abbreviations.  What is AST?  Abstract Syntax Tree?
This takes the Monticello tool to a new level of technical
intimidation and confusion.

Why do we need a button for this?

I would say, why only one? Why a lack of symmetry?
The same AST means that some formatting has been performed.
I think AST currently contains comments, but see below...

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)
So anyway we are blind to these changes, we could as well throw a dice ;)
 

On Mon, Jul 25, 2016 at 8:24 AM,  <[hidden email]> wrote:
> Tim Felgentreff uploaded a new version of Monticello to project The Trunk:
> http://source.squeak.org/trunk/Monticello-tfel.637.mcz
>
> ==================== Summary ====================
>
> Name: Monticello-tfel.637
> Author: tfel
> Time: 25 July 2016, 3:24:24.996828 pm
> UUID: cf0d6af1-c703-5044-9c57-e798b0cf3abf
> Ancestors: Monticello-cmm.636
>
> add a button for rejecting all incoming conflicts that only change AST
>
> =============== Diff against Monticello-cmm.636 ===============
>
> Item was added:
> + ----- Method: MCConflict>>chooseSameAST (in category 'as yet unclassified') -----
> + chooseSameAST
> +       | fromSrc toSrc |
> +       (self definition isNil or: [self definition isMethodDefinition not])
> +               ifTrue: [^ self].
> +       fromSrc := (Parser new parse: operation fromSource class: nil class)
> +               generate decompile asString.
> +       toSrc := (Parser new parse: operation toSource class: nil class)
> +               generate decompile asString.
> +       fromSrc = toSrc ifTrue: [self chooseLocal].!
>

OK, so this does not even take the comments in account, because this is decompiled code (reconstructed AST) not original AST.
There's another problem here: decompile: sometimes fail, so we should protect ourselves...

 
> Item was changed:
>   ----- Method: MCMergeBrowser>>buttonSpecs (in category 'as yet unclassified') -----
>   buttonSpecs
>         ^ #((Merge merge 'Proceed with the merge' canMerge)
>                  (Cancel cancel 'Cancel the merge')
>                 ('All Newer' chooseAllNewerConflicts 'Choose all newer conflict versions')
>                 ('All Older' chooseAllOlderConflicts 'Choose all older conflict versions')
>                 ('Rest Reject' chooseAllUnchosenLocal 'Choose local versions of all remaining conflicts')
>                 ('Rest Accept' chooseAllUnchosenRemote 'Choose remote versions of all remaining conflicts')
> +               ('Accept same source' chooseAllSameAST 'Choose all local conflicting versions that have essentially the same code')
>   )!
>

There's another problem above:
Rest Accept is for accepting the remote changes
Accept same source is for accepting the local...

That can't be the same word, much confusing!

Right.  If that option is added, it must be called 'Reject same source'.

Probably call it something else: 'Reject cosmetic changes', maybe.

In any case, let's not make it worse after recently cleaning up the wording.

-cbc







Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Monticello-tfel.637.mcz

Chris Muller-3
Why interesting?  I tend to think that people should not be committing
changes in which only the formatting was changed.  So, maybe better to
take measures to minimize that from happening in the first place than
introduce a button to "undo" it later....?

On Mon, Jul 25, 2016 at 4:43 PM, Nicolas Cellier
<[hidden email]> wrote:

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

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Monticello-tfel.637.mcz

Tobias Pape

On 25.07.2016, at 23:56, Chris Muller <[hidden email]> wrote:

> I tend to think that people should not be committing
> changes in which only the formatting was changed.

Au contraire.
If a method is more understandable if formatted differently, it should be committed, even if it is only formatting rewriting.

Best regards
        -Tobias
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Monticello-tfel.637.mcz

Nicolas Cellier
In reply to this post by Chris Muller-3


2016-07-25 23:56 GMT+02:00 Chris Muller <[hidden email]>:
Why interesting?  I tend to think that people should not be committing
changes in which only the formatting was changed.  So, maybe better to
take measures to minimize that from happening in the first place than
introduce a button to "undo" it later....?


Well, it happens that such change are interesting...
For example some literal arrays are table that can suffer from misalignment.
Or some constant has been expressed in decimal when the intention would have been more clear with hexa.

Also the feature concerns comment conflicts.

It's also interesting because it happens that we compare a very distant branch like Squeak vs Pharo
and we don't want to be perturbated by cosmetic conflicts
(ok this happens less and less as the divergence increase).
 
On Mon, Jul 25, 2016 at 4:43 PM, Nicolas Cellier
<[hidden email]> wrote:
> Whatever the flow of critics, I find the feature interesting.
>
>
>
> 2016-07-25 23:17 GMT+02:00 Chris Cunningham <[hidden email]>:
>>
>>
>>
>> On Mon, Jul 25, 2016 at 10:03 AM, Nicolas Cellier
>> <[hidden email]> wrote:
>>>
>>> Hi both,
>>>
>>> 2016-07-25 17:55 GMT+02:00 Chris Muller <[hidden email]>:
>>>>
>>>> Please do not use abbreviations.  What is AST?  Abstract Syntax Tree?
>>>> This takes the Monticello tool to a new level of technical
>>>> intimidation and confusion.
>>>>
>>>> Why do we need a button for this?
>>>
>>>
>>> I would say, why only one? Why a lack of symmetry?
>>> The same AST means that some formatting has been performed.
>>> I think AST currently contains comments, but see below...
>>>
>>> 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)
>>> So anyway we are blind to these changes, we could as well throw a dice ;)
>>>
>>>>
>>>>
>>>> On Mon, Jul 25, 2016 at 8:24 AM,  <[hidden email]> wrote:
>>>> > Tim Felgentreff uploaded a new version of Monticello to project The
>>>> > Trunk:
>>>> > http://source.squeak.org/trunk/Monticello-tfel.637.mcz
>>>> >
>>>> > ==================== Summary ====================
>>>> >
>>>> > Name: Monticello-tfel.637
>>>> > Author: tfel
>>>> > Time: 25 July 2016, 3:24:24.996828 pm
>>>> > UUID: cf0d6af1-c703-5044-9c57-e798b0cf3abf
>>>> > Ancestors: Monticello-cmm.636
>>>> >
>>>> > add a button for rejecting all incoming conflicts that only change AST
>>>> >
>>>> > =============== Diff against Monticello-cmm.636 ===============
>>>> >
>>>> > Item was added:
>>>> > + ----- Method: MCConflict>>chooseSameAST (in category 'as yet
>>>> > unclassified') -----
>>>> > + chooseSameAST
>>>> > +       | fromSrc toSrc |
>>>> > +       (self definition isNil or: [self definition isMethodDefinition
>>>> > not])
>>>> > +               ifTrue: [^ self].
>>>> > +       fromSrc := (Parser new parse: operation fromSource class: nil
>>>> > class)
>>>> > +               generate decompile asString.
>>>> > +       toSrc := (Parser new parse: operation toSource class: nil
>>>> > class)
>>>> > +               generate decompile asString.
>>>> > +       fromSrc = toSrc ifTrue: [self chooseLocal].!
>>>> >
>>>
>>>
>>> OK, so this does not even take the comments in account, because this is
>>> decompiled code (reconstructed AST) not original AST.
>>> There's another problem here: decompile: sometimes fail, so we should
>>> protect ourselves...
>>>
>>>
>>>>
>>>> > Item was changed:
>>>> >   ----- Method: MCMergeBrowser>>buttonSpecs (in category 'as yet
>>>> > unclassified') -----
>>>> >   buttonSpecs
>>>> >         ^ #((Merge merge 'Proceed with the merge' canMerge)
>>>> >                  (Cancel cancel 'Cancel the merge')
>>>> >                 ('All Newer' chooseAllNewerConflicts 'Choose all newer
>>>> > conflict versions')
>>>> >                 ('All Older' chooseAllOlderConflicts 'Choose all older
>>>> > conflict versions')
>>>> >                 ('Rest Reject' chooseAllUnchosenLocal 'Choose local
>>>> > versions of all remaining conflicts')
>>>> >                 ('Rest Accept' chooseAllUnchosenRemote 'Choose remote
>>>> > versions of all remaining conflicts')
>>>> > +               ('Accept same source' chooseAllSameAST 'Choose all
>>>> > local conflicting versions that have essentially the same code')
>>>> >   )!
>>>> >
>>>
>>>
>>> There's another problem above:
>>> Rest Accept is for accepting the remote changes
>>> Accept same source is for accepting the local...
>>>
>>> That can't be the same word, much confusing!
>>>
>> Right.  If that option is added, it must be called 'Reject same source'.
>>
>> Probably call it something else: 'Reject cosmetic changes', maybe.
>>
>> In any case, let's not make it worse after recently cleaning up the
>> wording.
>>
>> -cbc
>>
>>
>>
>>
>
>
>
>