[squeak-dev] The Trunk: Monticello-tfel.637.mcz
Nicolas Cellier
nicolas.cellier.aka.nice at gmail.com
Mon Jul 25 17:03:05 UTC 2016
Hi both,
2016-07-25 17:55 GMT+02:00 Chris Muller <asqueaker at gmail.com>:
> 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, <commits at source.squeak.org> 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.!
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20160725/1044e014/attachment.htm
More information about the Squeak-dev
mailing list
|