The Trunk: Monticello-dtl.685.mcz

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

The Trunk: Monticello-dtl.685.mcz

commits-2
David T. Lewis uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-dtl.685.mcz

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

Name: Monticello-dtl.685
Author: dtl
Time: 5 November 2018, 10:52:58.748205 pm
UUID: b31c1c5b-d61a-4810-8f97-5fdcaf062dc8
Ancestors: Monticello-eem.684

MCVersionInspector has an 'Adopt' button to allow the selected version to be added to the parent or parents of a working version. Provide a 'Reparent' button to allow a selected version to become the sole parent of a working version. Adjust defaultExtent to accomodate the additional button.

Motivated by the exercise of preparing to copy Chronology-Core versions from one repository into equivalent Chronology-Core.UTC versions in another repository (possibly trunk). In this scenario, it is helpful to be able to reparent a newly loaded Chronology-Core version from one repository to be the child of the last saved Chronology-Core.UTC version in another. The '.UTC' suffix in this case is intended to branch those versions from the trunk update stream, allowing later merge to trunk with branch history preserved.

=============== Diff against Monticello-eem.684 ===============

Item was changed:
  ----- Method: MCRepositoryInspector>>defaultExtent (in category 'morphic ui') -----
  defaultExtent
+ ^600@300!
- ^450@300!

Item was added:
+ ----- Method: MCVersion>>reparent (in category 'actions') -----
+ reparent
+ "Let aNode be the sole parent of this version"
+ self workingCopy reparent: self!

Item was changed:
  ----- Method: MCVersionInspector>>buttonSpecs (in category 'morphic ui') -----
  buttonSpecs
+ ^#(
+ ('Refresh' refresh 'refresh the version-list')
-        ^ #(('Refresh' refresh 'refresh the version-list')
  (Browse browse 'Browse this version' hasVersion)
+ (History history 'Browse the history of this version' hasVersion)
+ (Changes changes 'Browse the changes this version would make to the image' hasVersion)
+ (Load load 'Load this version into the image' hasVersion)
+ (Merge merge 'Merge this version into the image' hasVersion)
+ (Adopt adopt 'Adopt this version as an ancestor of your working copy' hasVersion)
+ (Reparent reparent 'Adopt this version as the sole ancestor of your working copy' hasVersion)
+ (Copy save 'Copy this version to another repository' hasVersion)
+ (Diff diff 'Create an equivalent version based on an earlier release' hasVersion)
+ )!
-                (History history 'Browse the history of this version' hasVersion)
-                (Changes changes 'Browse the changes this version would make to the
- image' hasVersion)
-                (Load load 'Load this version into the image' hasVersion)
-                (Merge merge 'Merge this version into the image' hasVersion)
-                (Adopt adopt 'Adopt this version as an ancestor of your working copy'
- hasVersion)
-                (Copy save 'Copy this version to another repository' hasVersion)
-                (Diff diff 'Create an equivalent version based on an earlier release'
- hasVersion))!

Item was added:
+ ----- Method: MCVersionInspector>>reparent (in category 'accessing') -----
+ reparent
+ (self confirm:'Adopt ',self version info name, ' as the sole ancestor of your working copy?')
+ ifTrue: [self version reparent]!

Item was added:
+ ----- Method: MCWorkingAncestry>>reparent: (in category 'as yet unclassified') -----
+ reparent: aNode
+ "Let aNode be the sole parent of this version"
+ ancestors := Array with: aNode
+ !

Item was added:
+ ----- Method: MCWorkingCopy>>reparent: (in category 'operations') -----
+ reparent: aVersion
+ "Let aNode be the sole parent of this version"
+ ancestry reparent: aVersion info.
+ self changed.!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Monticello-dtl.685.mcz

Chris Muller-3
YO!!  Two versions for one feature?  Before I could even get my
feedback submitted?

Somebody got a itchy commit finger there!    :(
On Fri, Nov 9, 2018 at 6:05 PM <[hidden email]> wrote:

>
> David T. Lewis uploaded a new version of Monticello to project The Trunk:
> http://source.squeak.org/trunk/Monticello-dtl.685.mcz
>
> ==================== Summary ====================
>
> Name: Monticello-dtl.685
> Author: dtl
> Time: 5 November 2018, 10:52:58.748205 pm
> UUID: b31c1c5b-d61a-4810-8f97-5fdcaf062dc8
> Ancestors: Monticello-eem.684
>
> MCVersionInspector has an 'Adopt' button to allow the selected version to be added to the parent or parents of a working version. Provide a 'Reparent' button to allow a selected version to become the sole parent of a working version. Adjust defaultExtent to accomodate the additional button.
>
> Motivated by the exercise of preparing to copy Chronology-Core versions from one repository into equivalent Chronology-Core.UTC versions in another repository (possibly trunk). In this scenario, it is helpful to be able to reparent a newly loaded Chronology-Core version from one repository to be the child of the last saved Chronology-Core.UTC version in another. The '.UTC' suffix in this case is intended to branch those versions from the trunk update stream, allowing later merge to trunk with branch history preserved.
>
> =============== Diff against Monticello-eem.684 ===============
>
> Item was changed:
>   ----- Method: MCRepositoryInspector>>defaultExtent (in category 'morphic ui') -----
>   defaultExtent
> +       ^600@300!
> -       ^450@300!
>
> Item was added:
> + ----- Method: MCVersion>>reparent (in category 'actions') -----
> + reparent
> +       "Let aNode be the sole parent of this version"
> +       self workingCopy reparent: self!
>
> Item was changed:
>   ----- Method: MCVersionInspector>>buttonSpecs (in category 'morphic ui') -----
>   buttonSpecs
> +       ^#(
> +               ('Refresh' refresh 'refresh the version-list')
> -        ^ #(('Refresh' refresh 'refresh the version-list')
>                 (Browse browse 'Browse this version' hasVersion)
> +               (History history 'Browse the history of this version' hasVersion)
> +               (Changes changes 'Browse the changes this version would make to the image' hasVersion)
> +               (Load load 'Load this version into the image' hasVersion)
> +               (Merge merge 'Merge this version into the image' hasVersion)
> +               (Adopt adopt 'Adopt this version as an ancestor of your working copy' hasVersion)
> +               (Reparent reparent 'Adopt this version as the sole ancestor of your working copy' hasVersion)
> +               (Copy save 'Copy this version to another repository' hasVersion)
> +               (Diff diff 'Create an equivalent version based on an earlier release' hasVersion)
> +       )!
> -                (History history 'Browse the history of this version' hasVersion)
> -                (Changes changes 'Browse the changes this version would make to the
> - image' hasVersion)
> -                (Load load 'Load this version into the image' hasVersion)
> -                (Merge merge 'Merge this version into the image' hasVersion)
> -                (Adopt adopt 'Adopt this version as an ancestor of your working copy'
> - hasVersion)
> -                (Copy save 'Copy this version to another repository' hasVersion)
> -                (Diff diff 'Create an equivalent version based on an earlier release'
> - hasVersion))!
>
> Item was added:
> + ----- Method: MCVersionInspector>>reparent (in category 'accessing') -----
> + reparent
> +       (self confirm:'Adopt ',self version info name, ' as the sole ancestor of your working copy?')
> +               ifTrue: [self version reparent]!
>
> Item was added:
> + ----- Method: MCWorkingAncestry>>reparent: (in category 'as yet unclassified') -----
> + reparent: aNode
> +       "Let aNode be the sole parent of this version"
> +       ancestors := Array with: aNode
> + !
>
> Item was added:
> + ----- Method: MCWorkingCopy>>reparent: (in category 'operations') -----
> + reparent: aVersion
> +       "Let aNode be the sole parent of this version"
> +       ancestry reparent: aVersion info.
> +       self changed.!
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Monticello-dtl.685.mcz

David T. Lewis
On Fri, Nov 09, 2018 at 06:11:59PM -0600, Chris Muller wrote:
> YO!!  Two versions for one feature?  Before I could even get my
> feedback submitted?
>
> Somebody got a itchy commit finger there!    :(

I don't understand what you mean.

I put this in the inbox last Tuesday. Eliot said it looked nice.
Chris said "you read my mind", which I took to be positive feedback.
Bert sounded cautious and asked for my used case, which I provided.
Levente replied with another used case that seemed to make sense.

What other feedback should I have been waiting for?

Or are you saying that the original Monticello-dtl.685 version
should have been deleted, rather than merged and retained in trunk?
That does not sound right to me.

Confused,
Dave


> On Fri, Nov 9, 2018 at 6:05 PM <[hidden email]> wrote:
> >
> > David T. Lewis uploaded a new version of Monticello to project The Trunk:
> > http://source.squeak.org/trunk/Monticello-dtl.685.mcz
> >
> > ==================== Summary ====================
> >
> > Name: Monticello-dtl.685
> > Author: dtl
> > Time: 5 November 2018, 10:52:58.748205 pm
> > UUID: b31c1c5b-d61a-4810-8f97-5fdcaf062dc8
> > Ancestors: Monticello-eem.684
> >
> > MCVersionInspector has an 'Adopt' button to allow the selected version to be added to the parent or parents of a working version. Provide a 'Reparent' button to allow a selected version to become the sole parent of a working version. Adjust defaultExtent to accomodate the additional button.
> >
> > Motivated by the exercise of preparing to copy Chronology-Core versions from one repository into equivalent Chronology-Core.UTC versions in another repository (possibly trunk). In this scenario, it is helpful to be able to reparent a newly loaded Chronology-Core version from one repository to be the child of the last saved Chronology-Core.UTC version in another. The '.UTC' suffix in this case is intended to branch those versions from the trunk update stream, allowing later merge to trunk with branch history preserved.
> >
> > =============== Diff against Monticello-eem.684 ===============
> >
> > Item was changed:
> >   ----- Method: MCRepositoryInspector>>defaultExtent (in category 'morphic ui') -----
> >   defaultExtent
> > +       ^600@300!
> > -       ^450@300!
> >
> > Item was added:
> > + ----- Method: MCVersion>>reparent (in category 'actions') -----
> > + reparent
> > +       "Let aNode be the sole parent of this version"
> > +       self workingCopy reparent: self!
> >
> > Item was changed:
> >   ----- Method: MCVersionInspector>>buttonSpecs (in category 'morphic ui') -----
> >   buttonSpecs
> > +       ^#(
> > +               ('Refresh' refresh 'refresh the version-list')
> > -        ^ #(('Refresh' refresh 'refresh the version-list')
> >                 (Browse browse 'Browse this version' hasVersion)
> > +               (History history 'Browse the history of this version' hasVersion)
> > +               (Changes changes 'Browse the changes this version would make to the image' hasVersion)
> > +               (Load load 'Load this version into the image' hasVersion)
> > +               (Merge merge 'Merge this version into the image' hasVersion)
> > +               (Adopt adopt 'Adopt this version as an ancestor of your working copy' hasVersion)
> > +               (Reparent reparent 'Adopt this version as the sole ancestor of your working copy' hasVersion)
> > +               (Copy save 'Copy this version to another repository' hasVersion)
> > +               (Diff diff 'Create an equivalent version based on an earlier release' hasVersion)
> > +       )!
> > -                (History history 'Browse the history of this version' hasVersion)
> > -                (Changes changes 'Browse the changes this version would make to the
> > - image' hasVersion)
> > -                (Load load 'Load this version into the image' hasVersion)
> > -                (Merge merge 'Merge this version into the image' hasVersion)
> > -                (Adopt adopt 'Adopt this version as an ancestor of your working copy'
> > - hasVersion)
> > -                (Copy save 'Copy this version to another repository' hasVersion)
> > -                (Diff diff 'Create an equivalent version based on an earlier release'
> > - hasVersion))!
> >
> > Item was added:
> > + ----- Method: MCVersionInspector>>reparent (in category 'accessing') -----
> > + reparent
> > +       (self confirm:'Adopt ',self version info name, ' as the sole ancestor of your working copy?')
> > +               ifTrue: [self version reparent]!
> >
> > Item was added:
> > + ----- Method: MCWorkingAncestry>>reparent: (in category 'as yet unclassified') -----
> > + reparent: aNode
> > +       "Let aNode be the sole parent of this version"
> > +       ancestors := Array with: aNode
> > + !
> >
> > Item was added:
> > + ----- Method: MCWorkingCopy>>reparent: (in category 'operations') -----
> > + reparent: aVersion
> > +       "Let aNode be the sole parent of this version"
> > +       ancestry reparent: aVersion info.
> > +       self changed.!
> >
> >
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Monticello-dtl.685.mcz

Chris Muller-3
> > YO!!  Two versions for one feature?  Before I could even get my
> > feedback submitted?
> >
> > Somebody got a itchy commit finger there!    :(
>
> I don't understand what you mean.
>
> I put this in the inbox last Tuesday. Eliot said it looked nice.

"Last Tuesday?"  Is that supposed to mean "it's been a long time?"
Because, to me, it's not nearly enough time to properly think about
what we're really wanting to do, what we want to guard against, and
the best way to accomplish it.

But apparently a new button has now already been added to our dev tools...

> Chris said "you read my mind", which I took to be positive feedback.

That was positive feedback about the _idea_ of being able to reparent,
but I did not fathom that this implementation was your final
submission.

> Bert sounded cautious and asked for my used case, which I provided.

Bert had concerns about safety, but this implementation completely
ignores them.

> Levente replied with another used case that seemed to make sense.

Dave, he presented a use-case in which a Reparenting function is
useful.  We all agree it is useful function, but you didn't allow
adequate time for feedback and refinements.

> What other feedback should I have been waiting for?

Actual usage feedback.  How many times has it actually been used?

Do you actually think this raw power should be there with no warnings?
 <---- Please don't take that as me advocating that a Warning is the
way to make it safer...   e.g., What do you think of my suggestion in
my other email about selecting one from the existing ancestry?  What
you have (as well as Adopt) is selecting one from the _Repository_.
That's unnecessarily dangerous for the use-cases we're solving.

> Or are you saying that the original Monticello-dtl.685 version
> should have been deleted, rather than merged and retained in trunk?
> That does not sound right to me.

Yeah, Eliots commit was a couple of days ago,so it would be nice if
you could've merged it before committing -- and, hey -- you actually
passed on the chance to try out the very feature you were implementing
(for the very first time?) by leaving dtl.685 behind and Reparenting to eem-685.
______
I guess I'm fine to just move forward and make the refinements it from
here, but I hope you're convinced to let some things of this caliber
to gestate longer, and until you are we are all _certain_ that we have
our _final product_, the diamond we want to commit to trunk.

Either that or liberal use of a new Squash feature proposed by Bert...

 - Chris