Bert Freudenberg uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-bf.487.mcz
==================== Summary ====================
Name: Monticello-bf.487
Author: bf
Time: 20 November 2011, 7:07:40.339 pm
UUID: a2eb96da-e4c5-4acb-9058-ef1afb5d5de5
Ancestors: Monticello-bf.486
Fix for MCSubDirectoryRepository by NISHIHARA Satoshi.
=============== Diff against Monticello-bf.486 ===============
Item was changed:
----- Method: MCSubDirectoryRepository>>allFileNames (in category 'enumeration') -----
allFileNames
"sorting {entry. dirName. name}"
| sorted |
sorted := SortedCollection sortBlock: [:a :b |
a first modificationTime >= b first modificationTime ].
self allDirectories
do: [:dir | dir entries
do: [:ent | ent isDirectory
ifFalse: [sorted add: {ent. dir fullName. ent name}]]].
^ sorted
+ collect: [:ea | ea third asMCVersionName]!
- collect: [:ea | ea third ]!
Bert Freudenberg uploaded a new version of MonticelloConfigurations to project The Trunk:
http://source.squeak.org/trunk/MonticelloConfigurations-bf.100.mcz
==================== Summary ====================
Name: MonticelloConfigurations-bf.100
Author: bf
Time: 17 November 2011, 4:56:18.448 pm
UUID: c7ad19b7-1fec-4373-8094-deb16b2bb153
Ancestors: MonticelloConfigurations-bf.99
- when updating from a new repository of add-on packages (e.g. VMMaker), skip ahead to the latest config
=============== Diff against MonticelloConfigurations-bf.99 ===============
Item was changed:
----- Method: MCMcmUpdater class>>updateFromRepositories: (in category 'updating') -----
updateFromRepositories: repositoryUrls
"MCMcmUpdater updateFromRepositories: #(
'http://squeaksource.com/MCUpdateTest'
)"
| repos config |
Preferences enable: #upgradeIsMerge.
LastUpdateMap ifNil:[LastUpdateMap := Dictionary new].
"The list of repositories to consult in order"
repos := repositoryUrls collect:[:url|
MCRepositoryGroup default repositories
detect:[:r| r description = url]
ifNone:[ | r |
r := MCHttpRepository location: url user: '' password: ''.
MCRepositoryGroup default addRepository: r.
r]].
"The list of updates-author.version.mcm sorted by version"
repos do:[:r| r cacheAllFileNamesDuring:[
| updateList |
updateList := self updateListFor: r.
"Proceed only if there are updates available at all."
updateList ifNotEmpty: [
+ (LastUpdateMap at: r description ifAbsent: [0]) = 0 ifTrue: [
+ "No update has ever been loaded from this repo. If no package is
+ present in the image either, we can skip right to the latest config"
+ config := r versionNamed: updateList last value.
+ (config dependencies anySatisfy: [:dep| dep package hasWorkingCopy])
+ ifFalse: [ (self useLatestPackagesFrom: r)
+ ifTrue: [LastUpdateMap at: r description put: updateList last key.
+ updateList := #()]
+ ifFalse: [updateList := updateList last: 1]]].
"Now process each update file. Check if we have all dependencies and if not,
load the entire configuration (this is mostly to skip older updates quickly)"
updateList do:[:assoc|
ProgressNotification signal: '' extra: 'Processing ', assoc value.
config := r versionNamed: assoc value.
"Skip packages that were specifically unloaded"
config dependencies: (config dependencies
reject: [:dep| self skipPackages includes: dep package name]).
self updateMissingPackages ifFalse:[
"Skip packages that are not in the image"
config dependencies: (config dependencies
select: [:dep| dep package hasWorkingCopy])].
(config dependencies allSatisfy:[:dep| dep isFulfilled])
ifFalse:[config upgrade].
LastUpdateMap at: r description put: assoc key.
] displayingProgress: 'Processing configurations'.
"We've loaded all the provided update configurations.
Use the latest configuration to update all the remaining packages."
(self useLatestPackagesFrom: r) ifTrue: [
config updateFromRepositories.
config upgrade].
]].
].
^config!
Bert Freudenberg uploaded a new version of MonticelloConfigurations to project The Trunk:
http://source.squeak.org/trunk/MonticelloConfigurations-bf.100.mcz
==================== Summary ====================
Name: MonticelloConfigurations-bf.100
Author: bf
Time: 17 November 2011, 4:56:18.448 pm
UUID: c7ad19b7-1fec-4373-8094-deb16b2bb153
Ancestors: MonticelloConfigurations-bf.99
- when updating from a new repository of add-on packages (e.g. VMMaker), skip ahead to the latest config
=============== Diff against MonticelloConfigurations-bf.99 ===============
Item was changed:
----- Method: MCMcmUpdater class>>updateFromRepositories: (in category 'updating') -----
updateFromRepositories: repositoryUrls
"MCMcmUpdater updateFromRepositories: #(
'http://squeaksource.com/MCUpdateTest'
)"
| repos config |
Preferences enable: #upgradeIsMerge.
LastUpdateMap ifNil:[LastUpdateMap := Dictionary new].
"The list of repositories to consult in order"
repos := repositoryUrls collect:[:url|
MCRepositoryGroup default repositories
detect:[:r| r description = url]
ifNone:[ | r |
r := MCHttpRepository location: url user: '' password: ''.
MCRepositoryGroup default addRepository: r.
r]].
"The list of updates-author.version.mcm sorted by version"
repos do:[:r| r cacheAllFileNamesDuring:[
| updateList |
updateList := self updateListFor: r.
"Proceed only if there are updates available at all."
updateList ifNotEmpty: [
+ (LastUpdateMap at: r description ifAbsent: [0]) = 0 ifTrue: [
+ "No update has ever been loaded from this repo. If no package is
+ present in the image either, we can skip right to the latest config"
+ config := r versionNamed: updateList last value.
+ (config dependencies anySatisfy: [:dep| dep package hasWorkingCopy])
+ ifFalse: [ (self useLatestPackagesFrom: r)
+ ifTrue: [LastUpdateMap at: r description put: updateList last key.
+ updateList := #()]
+ ifFalse: [updateList := updateList last: 1]]].
"Now process each update file. Check if we have all dependencies and if not,
load the entire configuration (this is mostly to skip older updates quickly)"
updateList do:[:assoc|
ProgressNotification signal: '' extra: 'Processing ', assoc value.
config := r versionNamed: assoc value.
"Skip packages that were specifically unloaded"
config dependencies: (config dependencies
reject: [:dep| self skipPackages includes: dep package name]).
self updateMissingPackages ifFalse:[
"Skip packages that are not in the image"
config dependencies: (config dependencies
select: [:dep| dep package hasWorkingCopy])].
(config dependencies allSatisfy:[:dep| dep isFulfilled])
ifFalse:[config upgrade].
LastUpdateMap at: r description put: assoc key.
] displayingProgress: 'Processing configurations'.
"We've loaded all the provided update configurations.
Use the latest configuration to update all the remaining packages."
(self useLatestPackagesFrom: r) ifTrue: [
config updateFromRepositories.
config upgrade].
]].
].
^config!
Bert Freudenberg uploaded a new version of MonticelloConfigurations to project The Trunk:
http://source.squeak.org/trunk/MonticelloConfigurations-bf.100.mcz
==================== Summary ====================
Name: MonticelloConfigurations-bf.100
Author: bf
Time: 17 November 2011, 4:56:18.448 pm
UUID: c7ad19b7-1fec-4373-8094-deb16b2bb153
Ancestors: MonticelloConfigurations-bf.99
- when updating from a new repository of add-on packages (e.g. VMMaker), skip ahead to the latest config
=============== Diff against MonticelloConfigurations-bf.99 ===============
Item was changed:
----- Method: MCMcmUpdater class>>updateFromRepositories: (in category 'updating') -----
updateFromRepositories: repositoryUrls
"MCMcmUpdater updateFromRepositories: #(
'http://squeaksource.com/MCUpdateTest'
)"
| repos config |
Preferences enable: #upgradeIsMerge.
LastUpdateMap ifNil:[LastUpdateMap := Dictionary new].
"The list of repositories to consult in order"
repos := repositoryUrls collect:[:url|
MCRepositoryGroup default repositories
detect:[:r| r description = url]
ifNone:[ | r |
r := MCHttpRepository location: url user: '' password: ''.
MCRepositoryGroup default addRepository: r.
r]].
"The list of updates-author.version.mcm sorted by version"
repos do:[:r| r cacheAllFileNamesDuring:[
| updateList |
updateList := self updateListFor: r.
"Proceed only if there are updates available at all."
updateList ifNotEmpty: [
+ (LastUpdateMap at: r description ifAbsent: [0]) = 0 ifTrue: [
+ "No update has ever been loaded from this repo. If no package is
+ present in the image either, we can skip right to the latest config"
+ config := r versionNamed: updateList last value.
+ (config dependencies anySatisfy: [:dep| dep package hasWorkingCopy])
+ ifFalse: [ (self useLatestPackagesFrom: r)
+ ifTrue: [LastUpdateMap at: r description put: updateList last key.
+ updateList := #()]
+ ifFalse: [updateList := updateList last: 1]]].
"Now process each update file. Check if we have all dependencies and if not,
load the entire configuration (this is mostly to skip older updates quickly)"
updateList do:[:assoc|
ProgressNotification signal: '' extra: 'Processing ', assoc value.
config := r versionNamed: assoc value.
"Skip packages that were specifically unloaded"
config dependencies: (config dependencies
reject: [:dep| self skipPackages includes: dep package name]).
self updateMissingPackages ifFalse:[
"Skip packages that are not in the image"
config dependencies: (config dependencies
select: [:dep| dep package hasWorkingCopy])].
(config dependencies allSatisfy:[:dep| dep isFulfilled])
ifFalse:[config upgrade].
LastUpdateMap at: r description put: assoc key.
] displayingProgress: 'Processing configurations'.
"We've loaded all the provided update configurations.
Use the latest configuration to update all the remaining packages."
(self useLatestPackagesFrom: r) ifTrue: [
config updateFromRepositories.
config upgrade].
]].
].
^config!
Bert Freudenberg uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-bf.654.mcz
==================== Summary ====================
Name: Kernel-bf.654
Author: bf
Time: 17 November 2011, 2:18:37.428 pm
UUID: d13de9a3-b2e6-403e-ac68-66d94cb15a79
Ancestors: Kernel-nice.653
- fix class vars not showing up in menu while a browser's class side is selected
=============== Diff against Kernel-nice.653 ===============
Item was changed:
----- Method: ClassDescription>>chooseVarThenDo: (in category 'instance variables') -----
chooseVarThenDo: aBlock
"Put up a menu of all the instance variables in the receiver, and when
the user chooses one, evaluate aBlock with the chosen variable as its
parameter."
| lines labelStream allVars index |
+ (self allInstVarNames size + self theNonMetaClass allClassVarNames size) = 0 ifTrue: [ ^ self inform: 'There are no variables.' ].
- (self allInstVarNames size + self allClassVarNames size) = 0 ifTrue: [ ^ self inform: 'There are no variables.' ].
allVars := OrderedCollection new.
lines := OrderedCollection new.
labelStream := WriteStream on: (String new: 200).
self withAllSuperclasses reverseDo:
[ : class | | vars |
+ vars := class instVarNames , class theNonMetaClass classVarNames.
- vars := class instVarNames , class classVarNames.
vars do:
[ : var | labelStream
nextPutAll: var ;
cr.
allVars add: var ].
vars isEmpty ifFalse: [ lines add: allVars size ] ].
labelStream skip: -1.
"cut last CR"
(lines size > 0 and: [ lines last = allVars size ]) ifTrue: [ lines removeLast ].
"dispense with inelegant line beneath last item"
index := UIManager default
chooseFrom: (labelStream contents subStrings: {Character cr})
lines: lines
title: 'Variables in ' , self name.
index = 0 ifTrue: [ ^ self ].
aBlock value: (allVars at: index)!
Bert Freudenberg uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-bf.654.mcz
==================== Summary ====================
Name: Kernel-bf.654
Author: bf
Time: 17 November 2011, 2:18:37.428 pm
UUID: d13de9a3-b2e6-403e-ac68-66d94cb15a79
Ancestors: Kernel-nice.653
- fix class vars not showing up in menu while a browser's class side is selected
=============== Diff against Kernel-nice.653 ===============
Item was changed:
----- Method: ClassDescription>>chooseVarThenDo: (in category 'instance variables') -----
chooseVarThenDo: aBlock
"Put up a menu of all the instance variables in the receiver, and when
the user chooses one, evaluate aBlock with the chosen variable as its
parameter."
| lines labelStream allVars index |
+ (self allInstVarNames size + self theNonMetaClass allClassVarNames size) = 0 ifTrue: [ ^ self inform: 'There are no variables.' ].
- (self allInstVarNames size + self allClassVarNames size) = 0 ifTrue: [ ^ self inform: 'There are no variables.' ].
allVars := OrderedCollection new.
lines := OrderedCollection new.
labelStream := WriteStream on: (String new: 200).
self withAllSuperclasses reverseDo:
[ : class | | vars |
+ vars := class instVarNames , class theNonMetaClass classVarNames.
- vars := class instVarNames , class classVarNames.
vars do:
[ : var | labelStream
nextPutAll: var ;
cr.
allVars add: var ].
vars isEmpty ifFalse: [ lines add: allVars size ] ].
labelStream skip: -1.
"cut last CR"
(lines size > 0 and: [ lines last = allVars size ]) ifTrue: [ lines removeLast ].
"dispense with inelegant line beneath last item"
index := UIManager default
chooseFrom: (labelStream contents subStrings: {Character cr})
lines: lines
title: 'Variables in ' , self name.
index = 0 ifTrue: [ ^ self ].
aBlock value: (allVars at: index)!
Bert Freudenberg uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-bf.654.mcz
==================== Summary ====================
Name: Kernel-bf.654
Author: bf
Time: 17 November 2011, 2:18:37.428 pm
UUID: d13de9a3-b2e6-403e-ac68-66d94cb15a79
Ancestors: Kernel-nice.653
- fix class vars not showing up in menu while a browser's class side is selected
=============== Diff against Kernel-nice.653 ===============
Item was changed:
----- Method: ClassDescription>>chooseVarThenDo: (in category 'instance variables') -----
chooseVarThenDo: aBlock
"Put up a menu of all the instance variables in the receiver, and when
the user chooses one, evaluate aBlock with the chosen variable as its
parameter."
| lines labelStream allVars index |
+ (self allInstVarNames size + self theNonMetaClass allClassVarNames size) = 0 ifTrue: [ ^ self inform: 'There are no variables.' ].
- (self allInstVarNames size + self allClassVarNames size) = 0 ifTrue: [ ^ self inform: 'There are no variables.' ].
allVars := OrderedCollection new.
lines := OrderedCollection new.
labelStream := WriteStream on: (String new: 200).
self withAllSuperclasses reverseDo:
[ : class | | vars |
+ vars := class instVarNames , class theNonMetaClass classVarNames.
- vars := class instVarNames , class classVarNames.
vars do:
[ : var | labelStream
nextPutAll: var ;
cr.
allVars add: var ].
vars isEmpty ifFalse: [ lines add: allVars size ] ].
labelStream skip: -1.
"cut last CR"
(lines size > 0 and: [ lines last = allVars size ]) ifTrue: [ lines removeLast ].
"dispense with inelegant line beneath last item"
index := UIManager default
chooseFrom: (labelStream contents subStrings: {Character cr})
lines: lines
title: 'Variables in ' , self name.
index = 0 ifTrue: [ ^ self ].
aBlock value: (allVars at: index)!