[squeak-dev] The Trunk: UpdateStream-ct.13.mcz

karl ramberg karlramberg at gmail.com
Wed Mar 4 07:49:22 UTC 2020


On Tue, 3 Mar 2020 at 23:18, <commits at source.squeak.org> wrote:

> Nicolas Cellier uploaded a new version of UpdateStream to project The
> Trunk:
> http://source.squeak.org/trunk/UpdateStream-ct.13.mcz
>
> ==================== Summary ====================
>
> Name: UpdateStream-ct.13
> Author: ct
> Time: 21 December 2019, 1:00:30.046795 pm
> UUID: 4f856f41-7ea6-c744-a765-4f5bdc635989
> Ancestors: UpdateStream-mt.12
>
> Fix a small bug when dropping a changeset without conflicts into the
> image, showing the "conflicts with updated methods" and then pressing "no"
>
> =============== Diff against UpdateStream-mt.12 ===============
>
> Item was changed:
>   ----- Method: FilePackage class>>conflictsWithUpdatedMethods: (in
> category '*UpdateStream-instance creation') -----
>   conflictsWithUpdatedMethods: fullName
>         | conflicts changeList |
>         conflicts := (self fromFileNamed: fullName)
> conflictsWithUpdatedMethods.
> +       (conflicts isNil or: [conflicts isEmpty]) ifTrue: [^ self].



Could this use isEmptyOrNil  ?

Best,
Karl

>
> -       conflicts isEmpty ifTrue: [^ self].
>         changeList := ChangeList new.
>         changeList
>                 changes: conflicts
>                 file: (FileDirectory default readOnlyFileNamed: fullName)
> close.
>         ChangeList
>                 open: changeList
>                 name: 'Conflicts for ', (FileDirectory localNameFor:
> fullName)
>                 multiSelect: true.!
>
> Item was changed:
>   ----- Method: FilePackage>>conflictsWithUpdatedMethods (in category
> '*UpdateStream-conflict checker') -----
>   conflictsWithUpdatedMethods
>         "Check this package for conflicts with methods in the image which
> are in newer updates."
>
>         | localFileName stream updateNumberString updateNumber
> imageUpdateNumber updateNumberChangeSet conflicts fileStream |
> +
> -
>         localFileName := FileDirectory localNameFor: fullName.
>         stream := ReadStream on: sourceSystem.
>         stream upToAll: 'latest update: #'.
>         updateNumberString := stream upTo: $].
>         stream close.
>
>         fileStream := FileStream readOnlyFileNamed: fullName.
>         (fileStream contentsOfEntireFile includes: Character linefeed)
>                 ifTrue: [self notify:  'The changeset file ',
> localFileName, ' contains linefeeds.  Proceed if...
>   you know that this is okay (e.g. the file contains raw binary data).'].
>         fileStream close.
> +
> -
>         updateNumberString isEmpty ifFalse:             "remove prepended
> junk, if any"
>                 [updateNumberString := (updateNumberString findTokens:
> Character space) last].
>         updateNumberString asInteger ifNil:
>                 [(self confirm: 'Error: ', localFileName, ' has no valid
> Latest Update number in its header.
>   Do you want to enter an update number for this file?')
> +                       ifFalse: [^ nil]
> -                       ifFalse: [^ self]
>                         ifTrue: [updateNumberString := UIManager default
>                                                 request: 'Please enter the
> estimated update number (e.g. 4332).']].
>         updateNumberString asInteger ifNil: [self inform: 'Conflict check
> cancelled.'. ^ self].
>         updateNumber := updateNumberString asInteger.
> +
> -
>         imageUpdateNumber := SystemVersion current highestUpdate.
>         updateNumber > imageUpdateNumber ifTrue:
>                 [(self confirm: 'Warning: The update number for this file
> (#', updateNumberString, ')
>   is greater than the highest update number for this image (#',
> imageUpdateNumber asString, ').
>   This probably means you need to update your image.
>   Should we proceed anyway as if the file update number is #',
> imageUpdateNumber asString, '?')
>                         ifTrue:
>                                 [updateNumber := imageUpdateNumber.
>                                 updateNumberString := imageUpdateNumber
> asString]
> +                       ifFalse: [^ nil]].
> +
> -                       ifFalse: [^ self]].
> -
>         updateNumberChangeSet := self findUpdateChangeSetMatching:
> updateNumber.
> +       updateNumberChangeSet ifNil: [^ nil].
> +
> -       updateNumberChangeSet ifNil: [^ self].
> -
>         Smalltalk isMorphic ifTrue: [self currentWorld findATranscript:
> self currentEvent].
>         self class logCr; logCr; log: 'Checking ', localFileName, ' (#',
> updateNumberString, ') for method conflicts with changesets after ',
> updateNumberChangeSet name, ' ...'.
> +
> -
>         conflicts := OrderedCollection new.
>         self classes do: [:pseudoClass |
>                 (Array with: pseudoClass with: pseudoClass metaClass) do:
> [:classOrMeta |
>                         classOrMeta selectorsDo: [:selector | | conflict |
>                                 conflict := self
>
> checkForMoreRecentUpdateThanChangeSet: updateNumberChangeSet
>                                                         pseudoClass:
> classOrMeta
>                                                         selector: selector.
>                                 conflict ifNotNil: [conflicts add:
> conflict].
>                         ].
>                 ].
>         ].
>         self class logCr; log: conflicts size asString, (' conflict'
> asPluralBasedOn: conflicts), ' found.'; logCr.
>         self class closeLog.
>         ^ conflicts!
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200304/47aa7f27/attachment.html>


More information about the Squeak-dev mailing list