[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