[squeak-dev] The Trunk: Monticello-nice.694.mcz
David T. Lewis
lewis at mail.msen.com
Thu Feb 14 02:21:55 UTC 2019
This should be very helpful. But I am confused, and I don't know
how to see the bold-red-UI warning.
Can you give an example of a browser that shows the bold red font?
For example, if I open a MCFileRepositoryInspector on the inbox,
with Monticello selected as the package in the left pane, should
I see a version in bold red font on the list of versions in the
right pane?
Thanks,
Dave
On Wed, Feb 13, 2019 at 04:10:48PM +0000, commits at source.squeak.org wrote:
> Nicolas Cellier uploaded a new version of Monticello to project The Trunk:
> http://source.squeak.org/trunk/Monticello-nice.694.mcz
>
> ==================== Summary ====================
>
> Name: Monticello-nice.694
> Author: nice
> Time: 13 February 2019, 5:10:42.293481 pm
> UUID: 32251c33-6f20-4c4f-8e6b-b0bb32019731
> Ancestors: Monticello-tpr.693
>
> Warn about false ancestors thru bold-red-UI
>
> A false ancestor is a package that has same name-author.versionNumber than a true ancestor, but not the same id (UUID).
> Generally, its contents will be different from the true ancestor.
> It is vital to know this information, particularly when browsing an inbox, otherwise we could override a true ancestor when moving/copying this package to repository that already contains the true one.
>
> Right now, the warning is only for selected version in the versionList.
> It's because the list is built from version names only and ignore ids.
> Most actions will operate on selected version though, so it's better than nothing.
>
> =============== Diff against Monticello-tpr.693 ===============
>
> Item was changed:
> MCVersionInspector subclass: #MCRepositoryInspector
> + instanceVariableNames: 'repository packageNames versionNames selectedPackage selectedVersion order versionInfo loaded newer inherited inheritedId'
> - instanceVariableNames: 'repository packageNames versionNames selectedPackage selectedVersion order versionInfo loaded newer inherited'
> classVariableNames: 'BrowseBranchedVersionsSeparately Order'
> poolDictionaries: ''
> category: 'Monticello-UI'!
>
> Item was changed:
> ----- Method: MCRepositoryInspector>>identifyLoadedAndInherited: (in category 'morphic ui') -----
> identifyLoadedAndInherited: aMCWorkingCopy
> | seen |
> seen := Set new.
> aMCWorkingCopy ancestors do:
> [ : ancestor | loaded add: ancestor versionName.
> seen add: ancestor.
> ancestor ancestorsDoWhileTrue:
> [ : heir | (seen includes: heir)
> ifTrue: [ false ]
> ifFalse:
> [ inherited add: heir versionName.
> + inheritedId add: heir id.
> seen add: heir.
> true ] ] ]!
>
> Item was changed:
> ----- Method: MCRepositoryInspector>>initializeEmphasis (in category 'initialize-release') -----
> initializeEmphasis
> inherited := Set new.
> + inheritedId := Set new.
> loaded := Set new!
>
> Item was added:
> + ----- Method: MCRepositoryInspector>>selectedVersionIsFalseAncestor (in category 'testing') -----
> + selectedVersionIsFalseAncestor
> + "Answer true if selectedVersion is a false ancestor of working copy.
> + An ancestor of working copy that has same name, but not same id is a false ancestor!!"
> + ^(selectedVersion notNil
> + and: [(inherited includes: selectedVersion versionName)
> + and: [(inheritedId includes: self versionInfo id) not]])!
>
> Item was added:
> + ----- Method: MCRepositoryInspector>>summary (in category 'morphic ui') -----
> + summary
> + self selectedVersionIsFalseAncestor
> + ifTrue: [^ (Text string: 'Beware, this is a false ancestor whose name conflicts with a true one\' withCRs attributes: {TextColor red. TextEmphasis bold})
> + , super summary].
> + ^ super summary!
>
> Item was changed:
> ----- Method: MCRepositoryInspector>>versionHighlight: (in category 'morphic ui') -----
> + versionHighlight: aMCVersionName
> - versionHighlight: aMCVersionName
> inherited ifNil: [inherited := #()].
> + inheritedId ifNil: [inheritedId := #()].
> + (selectedVersion notNil
> + and: [selectedVersion = aMCVersionName
> + and: [self selectedVersionIsFalseAncestor]])
> + ifTrue: ["False ancestor might be dangerous, signal them in red"
> + ^ Text string: aMCVersionName attributes: {TextColor red. TextEmphasis bold}].
> + ^ Text
> - ^Text
> string: aMCVersionName
> + attribute: (TextEmphasis new
> + emphasisCode: ((loaded includes: aMCVersionName)
> + ifTrue: ["underlined" 4]
> + ifFalse: [(inherited includes: aMCVersionName)
> + ifTrue: [0]
> + ifFalse: ["bold" 1]]))!
> - attribute: (TextEmphasis new emphasisCode: (
> - ((loaded includes: aMCVersionName) ifTrue: [ 4 "underlined" ]
> - ifFalse: [ (inherited includes: aMCVersionName)
> - ifTrue: [ 0 ]
> - ifFalse: [ 1 "bold" ] ])))!
>
> Item was changed:
> ----- Method: MCRepositoryInspector>>versionSelection: (in category 'morphic ui') -----
> versionSelection: aNumber
> selectedVersion := version := nil.
> aNumber isZero ifFalse: [ selectedVersion := (self versionList at: aNumber) asString ].
> + self selectedVersionIsFalseAncestor ifTrue: [self changed: #versionList].
> self
> changed: #versionSelection ;
> changed: #summary ;
> changed: #hasVersion!
>
>
More information about the Squeak-dev
mailing list
|