[squeak-dev] The Trunk: Monticello-bf.474.mcz

Chris Muller asqueaker at gmail.com
Wed Jun 22 02:04:44 UTC 2011


Great enhancement Bert!  We should not only not submit "noise"
(methods which differ only by timestamp and/or author), but also care
to keep the original accounting info as much as possible.

That's why, when recategorizing a method, we should use the
*drag-and-drop* rather than cut-and-paste, so that the original
accounting information for the methods _implementation_, is preserved,
which is much more meaningful than only the category.

 - Chris


On Tue, Jun 21, 2011 at 6:51 AM,  <commits at source.squeak.org> wrote:
> Bert Freudenberg uploaded a new version of Monticello to project The Trunk:
> http://source.squeak.org/trunk/Monticello-bf.474.mcz
>
> ==================== Summary ====================
>
> Name: Monticello-bf.474
> Author: bf
> Time: 21 June 2011, 1:51:43.377 pm
> UUID: 174ed5e0-0903-4e69-8484-1fe3d0eb2527
> Ancestors: Monticello-ul.473
>
> Add "revert unchanged methods..." item to Changes list, allowing to bulk-revert methods that only differ in timestamp
>
> =============== Diff against Monticello-ul.473 ===============
>
> Item was added:
> + ----- Method: MCModification>>isUnchangedMethod (in category 'as yet unclassified') -----
> + isUnchangedMethod
> +       "true if this is a modification of a method where only the timestamp changed"
> +       ^ obsoletion isMethodDefinition
> +               and: [obsoletion source = modification source
> +                       and: [obsoletion category = modification category] ]!
>
> Item was changed:
>  ----- Method: MCPatchBrowser>>methodListMenu: (in category 'menus') -----
>  methodListMenu: aMenu
>        selection ifNotNil:
>                [aMenu addList:#(
>                        ('install'       installSelection)
>                        ('revert'        revertSelection)
>                        -)].
> +       self unchangedMethods ifNotEmpty:
> +               [aMenu addList:#(
> +                       ('revert unchanged methods...'  revertUnchangedMethods)
> +                       -)].
>        super methodListMenu: aMenu.
>        ^ aMenu
>  !
>
> Item was added:
> + ----- Method: MCPatchBrowser>>revertUnchangedMethods (in category 'actions') -----
> + revertUnchangedMethods
> +       "revert methods that only have changed timestamps"
> +       | loader unchangedMethods |
> +       unchangedMethods := items select: [:op | op isUnchangedMethod].
> +       (self confirm: ('Revert {1} methods that only differ in timestamp?' translated format: {unchangedMethods size}))
> +               ifTrue: [
> +                       loader := MCPackageLoader new.
> +                       unchangedMethods do: [:op | op inverse applyTo: loader].
> +                       loader loadWithName: self changeSetNameForInstall].
> + !
>
> Item was added:
> + ----- Method: MCPatchBrowser>>unchangedMethods (in category 'as yet unclassified') -----
> + unchangedMethods
> +       ^ items select: [:op | op isUnchangedMethod]!
>
> Item was added:
> + ----- Method: MCPatchOperation>>isUnchangedMethod (in category 'as yet unclassified') -----
> + isUnchangedMethod
> +       "true if this is a modification of a method where only the timestamp changed"
> +       ^false!
>
>
>



More information about the Squeak-dev mailing list