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@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!
squeak-dev@lists.squeakfoundation.org