[V3dot10] [Ann] Package annotating change sorter

Edgar J. De Cleene edgardec2001 at yahoo.com.ar
Mon Feb 5 09:53:41 UTC 2007


El 2/4/07 4:30 PM, "Jerome Peace" <peace_the_dreamer at yahoo.com> escribió:

> The mantis report and uploaded patch is at:
> 
> http://bugs.impara.de/view.php?id=5831
> 
> This is not Ralph's ChangeSet>>packagesInfluenced
> needed tool.
> 
> It does not annotate what will be effected by a class
> reorganization for example. Still is was a good doable
> step that will help.
> 
> Yours in service, --Jerome Peace

I found your report very useful as usual.
I send to Ralph private this , share here for all know and see how improve.

The example was for Ralph Make39Green what touch several packages.

| realClass package cat p  monti fileName cs mcw montiNames version |

fileName := FileList2 modalFileSelector .
monti := Set new.
cs := FilePackage fromFileNamed: fileName.
cs classes do: [:cl|  realClass := Smalltalk at: cl name ifAbsent: [ self
error: 'This image do not have ', cl asString] .cat := (realClass category
findTokens: '-') first.
    
    p := (PackageInfo allPackages collect:[:pi| pi packageName]) .
    (p includes: cat) ifTrue:[ monti add: cat]].


mcw := MCWorkingCopyBrowser new repository: (MCHttpRepository
                location: 'http://source.squeakfoundation.org/39a'
                user: ''
                password: '').
mcw repository ifNotNilDo: [:repos | montiNames := repos readableFileNames
].
    
    monti do: [:mo |
    
    package := (montiNames detect:[:ea| ea beginsWith: mo] ifNone:[] ) .
    package ifNotNil: [
    version := mcw repository loadVersionFromFileNamed: package.
    version load]].
    self halt.
    
    | newMessage |

newMessage :=  ' For 3.10 we only add updates that are in Mantis and
comments be the URL of  Mantis.
In this case http://bugs.impara.de/view.php?id=5527
Ralph Johnson
'.
self unsortedWorkingCopies do:[:ea | ea newVersionWithName: ea
nextVersionNamenameString message: newMessage ]

And for not having huge mcz , I do:

Generate a diff between two consecutive Monticello versions of packages


| mcc montiNames monti package lastVersion previousVersion
previousVersionName diferencia |
mcc := MCWorkingCopyBrowser new repository: MCCacheRepository default.
monti := #('ST80' 'KernelTests' 'Graphics' 'Monticello' 'Files' 'System'
'Kernel' 'CollectionsTests' 'Traits' 'Tests' 'GraphicsTests' 'SMBase').
mcc repository ifNotNilDo: [:repos | montiNames := repos readableFileNames
].
monti do: [:mo |
    
    package := (montiNames detect:[:ea| ea beginsWith: mo] ifNone:[] ) .
    package ifNotNil: [
    lastVersion := mcc repository loadVersionFromFileNamed: package.
    previousVersionName := (lastVersion info ancestorString),'.mcz'.
    previousVersion := mcc repository loadVersionFromFileNamed:
previousVersionName..
    diferencia := lastVersion asDiffAgainst: previousVersion.
    
    mcc repository basicStoreVersion: diferencia].

And also found you can't save the small .mcd files into official
repositories.

Maybe you could use this ? And improve with your touch ?



    



	

	
		
__________________________________________________ 
Preguntá. Respondé. Descubrí. 
Todo lo que querías saber, y lo que ni imaginabas, 
está en Yahoo! Respuestas (Beta). 
¡Probalo ya! 
http://www.yahoo.com.ar/respuestas 



More information about the V3dot10 mailing list