eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'VersionDiffBrowser':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: VersionDiffBrowser


Inheritance:

   Object
   |
   +--Model
      |
      +--ApplicationModel
         |
         +--VersionDiffBrowser

Package:
stx:libtool
Category:
Interface-Browsers
Version:
rev: 1.224 date: 2024/01/08 13:17:25
user: cg
file: VersionDiffBrowser.st directory: libtool
module: stx stc-classLibrary: libtool

Description:


This is not yet finished (work in progress).

A quickly hacked up browser to show differences between class versions,
allowing easy comparison; will also eventually add capabilities
to checkIn / load classes into / from the repository.

[usages:]
    VersionDiffBrowser openOnAllVersionsOfClass:Array.
    VersionDiffBrowser openOnAllClassesChangedSince:(Date today - 2 days) in:(Smalltalk allClasses).
    VersionDiffBrowser openOnAllClassesChangedSince:(Date today - 2 days) in:(Smalltalk allClassesMatchingPackage:'exept:bridgeFramework*').
    

[instance variables:]

[class variables:]

copyright

COPYRIGHT (c) 2000 by eXept Software AG All Rights Reserved This software is furnished under a license and may be used only in accordance with the terms of that license and with the inclusion of the above copyright notice. This software may not be provided or otherwise made available to, or used by, any other person. No title to or ownership of the software is hereby transferred.

Class protocol:

accessing
o  rememberedFilters

interface specs
o  windowSpec
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:VersionDiffBrowser andSelector:#windowSpec
     VersionDiffBrowser new openInterface:#windowSpec
     VersionDiffBrowser open

o  windowSpecForMultipleClasses
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:VersionDiffBrowser andSelector:#windowSpecForMultipleClasses
     VersionDiffBrowser new openInterface:#windowSpecForMultipleClasses

o  windowSpecForMultipleVersions
This resource specification was automatically generated
by the UIPainter of ST/X.

Usage example(s):

     UIPainter new openOnClass:VersionDiffBrowser andSelector:#windowSpecForMultipleVersions
     VersionDiffBrowser new openInterface:#windowSpecForMultipleVersions

menu specs
o  filterMenu
This resource specification was automatically generated
by the MenuEditor of ST/X.

Usage example(s):

     MenuEditor new openOnClass:VersionDiffBrowser andSelector:#filterMenu
     (Menu new fromLiteralArrayEncoding:(VersionDiffBrowser filterMenu)) startUp

o  mainMenu
This resource specification was automatically generated
by the MenuEditor of ST/X.

Usage example(s):

     MenuEditor new openOnClass:VersionDiffBrowser andSelector:#mainMenu
     (Menu new fromLiteralArrayEncoding:(VersionDiffBrowser mainMenu)) startUp

o  menuA
This resource specification was automatically generated
by the MenuEditor of ST/X.

Usage example(s):

     MenuEditor new openOnClass:VersionDiffBrowser andSelector:#menuA
     (Menu new fromLiteralArrayEncoding:(VersionDiffBrowser menuA)) startUp

o  menuB
This resource specification was automatically generated
by the MenuEditor of ST/X.

Usage example(s):

     MenuEditor new openOnClass:VersionDiffBrowser andSelector:#menuB
     (Menu new fromLiteralArrayEncoding:(VersionDiffBrowser menuB)) startUp

o  menuM
This resource specification was automatically generated
by the MenuEditor of ST/X.

Usage example(s):

     MenuEditor new openOnClass:VersionDiffBrowser andSelector:#menuM
     (Menu new fromLiteralArrayEncoding:(VersionDiffBrowser menuM)) startUp

o  versionsMenu
This resource specification was automatically generated
by the MenuEditor of ST/X.

Usage example(s):

     MenuEditor new openOnClass:VersionDiffBrowser andSelector:#versionsMenu
     (Menu new fromLiteralArrayEncoding:(VersionDiffBrowser versionsMenu)) startUp

o  viewMenu
This resource specification was automatically generated
by the MenuEditor of ST/X.

Usage example(s):

     MenuEditor new openOnClass:VersionDiffBrowser andSelector:#viewMenu
     (Menu new fromLiteralArrayEncoding:(VersionDiffBrowser viewMenu)) startUp

plugIn spec
o  aspectSelectors
This resource specification was automatically generated
by the UIPainter of ST/X.

startup
o  openOnAllClassesChangedSince: aDateOrTimestamp in: aSetOfClasses
create a VersionDiffBrowser instance and set the list of classes.
When a class is selected, the version list is extracted,
and the class diff set is generated from aClasses current version against
the selected version in the top selection list

Usage example(s):

     VersionDiffBrowser 
        openOnAllClassesChangedSince:(Date today - 2 days) 
        in:(Smalltalk allClassesMatchingPackage:'exept:bridgeFramework*').

o  openOnAllVersionsOfClass: aClass
create a VersionDiffBrowser instance and set the class change set of the
browser. The class diff set is generated from aClasses current version against
the selected version in the top selection list

Usage example(s):

     self openOnAllVersionsOfClass:Object

o  openOnAllVersionsOfClasses: aSetOfClasses
create a VersionDiffBrowser instance and set the list of classes.
When a class is selected, the version list is extracted,
and the class diff set is generated from aClasses current version against
the selected version in the top selection list

Usage example(s):

     self openOnAllVersionsOfClasses:(Collection withAllSubclasses)
     self openOnAllVersionsOfClasses:(Smalltalk allClassesInPackage:'exept:bridgeFramework')
     self openOnAllVersionsOfClasses:(Smalltalk allClassesMatchingPackage:'exept:bridgeFramework*')

o  openOnClass: aClass againstVersion: aVersionA
create a VersionDiffBrowser instance and set the class change set of the
browser. The class diff set is generated from aClasses current against some version
via the source code manager.

Usage example(s):

     self openOnClass:Array againstVersion:'1.116'
     self openOnClass:Array againstVersion:nil            - against the version on which Array is based upon
     self openOnClass:Array againstVersion:#newest        - against the newest repository version

     self openOnClass:VersionDiffBrowser againstVersion:nil
     self openOnClass:VersionDiffBrowser againstVersion:#newest

     (self openOnClass:ByteArray againstVersion:'1.116') includeExtensionsHolder value:true

o  openOnClass: classA labelA: aLabelA andClass: classB labelB: aLabelB title: title
create a VersionDiffBrowser instance and set the class change set of the
browser. The class diff set is generated from two classes.

Usage example(s):

     self
        openOnClass:Array labelA:'Array'
        andClass:Collection labelB:'Collection'
        title:'Array vs. Collection'

o  openOnClass: classA labelA: aLabelA andClass: classB labelB: aLabelB title: title ifSame: sameAction
create a VersionDiffBrowser instance and set the class change set of the
browser. The class diff set is generated from two classes.

o  openOnClass: aClass labelA: aLabelA sourceA: aSourceA labelB: aLabelB sourceB: aSourceB
create a VersionDiffBrowser instance and set the class change set of the
browser. The class diff set is generated from two source files.

o  openOnClass: aClass labelA: aLabelA sourceA: aSourceA labelB: aLabelB sourceB: aSourceB title: ignoredTitle
create a VersionDiffBrowser instance and set the class change set of the
browser. The class diff set is generated from two source files.

o  openOnClass: aClass labelA: aLabelA sourceA: aSourceA labelB: aLabelB sourceB: aSourceB title: ignoredTitle ifSame: sameAction
create a VersionDiffBrowser instance and set the class change set of the
browser. The class diff set is generated from two source files.

o  openOnClass: aClass versionA: versionA versionB: versionB
create a VersionDiffBrowser instance and set the class change set of the
browser. The class diff set is generated from two versions of aClass via
the source code manager.

Usage example(s):

     self openOnClass:Array versionA:'1.116' versionB:'1.113'
     self openOnClass:Array versionA:'1.113' versionB:'1.116'

o  openOnClassChangeSet: classChangeSet title: title
create a VersionDiffBrowser instance and set the class change set of the
browser. The class diff set is generated from two classes.

o  openOnDiffSet: diffSet labelA: aLabelA labelB: aLabelB title: ignoredTitle

o  openOnDiffSet: diffSet labelA: aLabelA labelB: aLabelB title: ignoredTitle ignoreExtensions: ignoreExtensionsBoolean

o  openOnDiffSet: diffSet labelA: aLabelA labelB: aLabelB title: ignoredTitle ignoreExtensions: ignoreExtensionsBoolean ignoreVersionMethods: ignoreVersionMethodsBoolean

o  openOnDiffsBetweenFile: file1 and: file2
VersionDiffBrowser
openOnDiffsBetweenFile:'/phys/exept/tmp/ws/Workflow::BlockDescription.st'
and:'/phys/exept/tmp/workflowClasses/Workflow::BlockDescription.st'

utilitiies
o  classChangeSetForClass: aClass sourceA: sourceA sourceB: sourceB


Instance protocol:

accessing
o  beMultipleClassesVersionBrowser

o  beMultipleVersionBrowser

o  canIncludeExtensions: aBoolean
Modified (format): / 08-05-2019 / 11:14:30 / Claus Gittinger

o  changeSetA
gets the change set which contains only the new methods
in versionA of the class
<return: ChangeSet>

o  changeSetB
gets the change set which contains only the new methods
in versionB of the class
<return: ChangeSet>

o  class: aClass versionA: revA versionB: revB

o  classBeingCompared
returns the class from the change set which is compared.
<return: Class>

o  classChangeSet
returns the class change set which is the model of the version diff browser.

o  classChangeSet: aClassChangeSet
sets the class change set which is the model of the version diff browser.
The labels, the lists, the visibility and the selection of the lists must be reseted
when a new change set is given.

o  classList: aCollectionOfClasses

o  ignoreExtensions
if true, extension methods are suppressed.
Ignoring is useful when comparing for baseClass checkin,
as opposed to extension-checking, where extensions should not be ignored.
the default is false

o  ignoreExtensions: aBoolean
if true, extension methods are suppressed.
Ignoring is useful when comparing for baseClass checkin,
as opposed to extension-checking, where extensions should not be ignored.
the default is false

o  ignoreVersionMethods: aBoolean
if true, version methods (version and version_XXX) are suppressed.
Ignoring is useful when comparing for real code changes.
the default is false

o  isMultipleClassesVersionBrowser

o  isMultipleVersionBrowser

o  selectedChangeInA
gets the selected method change for the 'method only in version A'.
<return: MethodChange | nil>

o  selectedChangeInB
gets the selected method change for the 'method only in version B'.
<return: MethodChange | nil>

o  selectedChangesInM
get the two method changes for the selected 'changed method'.
<return: <Array with:MethodChange with:MethodChange | nil>>

o  selectedVersion

o  versionA
gets the first class version to be compared
<return: String>

o  versionB
gets the second class version to be compared
<return: String>

actions
o  acceptInLeftView

o  acceptInRightView

o  acceptInSingleView

o  applyAllChanges: listOfChanges

o  applyAllChangesInA

o  applyAllChangesInB

o  applyChange: change

o  applySelectedChangeInA

o  applySelectedChangeInB

o  methodInADoubleClicked: index
|change|

o  methodInBDoubleClicked: index
|change|

o  methodInChangedDoubleClicked: index

o  removeSelectedChangeInBFromImage

o  showLogMessages
the UI shows code-diffs if any change is selected, and version log entries otherwise.
But there is no way to deselect any of the method-change-lists, to go back to log-messages,
once a method has been looked at.
This view-menu entry helps.

aspects
o  alwaysShowDiffAgainstPreviousHolder

o  boxAVisible

o  boxBVisible

o  boxMVisible

o  canIncludeExtensionsHolder
can include extensions ? (menu item enabler)

o  changedLabelHolder
aspect for the label of the changed method box

o  classListHolder
aspect for the 'list of classes' list.
<return: List>

o  classNameListHolder
aspect for the 'list of classes' list.
<return: List>

o  diffTextLabelA
aspect for the label for version A

o  diffTextLabelB
aspect for the label for version B

o  diffTextView
return the component for the diff text view.
<return: HVScrollableView>

o  hideDiffsWithCommentOrFormattingChangeOnly

o  hideDiffsWithCommentOrFormattingChangeOnlyHolder
hide changes which have no semantic effect?

o  includeCategoryChanges

o  includeCategoryChanges: aBoolean

o  includeCategoryChangesHolder

o  includeExtensions

o  includeExtensions: aBoolean

o  includeExtensionsHolder
only compare base-methods or include extensions ?

o  includeVersionMethods

o  includeVersionMethods: aBoolean

o  includeVersionMethodsHolder

o  infoHolder

** This is an obsolete interface - do not use it (it may vanish in future versions) **

o  informationHolder
(comment from inherited method)
applications which want to show this in some info-area at the bottom
should redefine this to return a value holder or action-block

o  methodText
aspect for the text in the method text view

o  methodsChanged
aspect for the 'changed method' list.
<return: List>

o  methodsChangedSelection
aspect for the selection holder of 'changed method'-list.
<return: ValueHolder>

o  methodsOnlyInA
aspect for the 'method only in version A' list.

o  methodsOnlyInASelection
aspect for the selection holder of 'method only in version A'-list.

o  methodsOnlyInB
aspect for the 'method only in version B' list

o  methodsOnlyInBSelection
aspect for the selection holder of 'method only in version B'-list.

o  onlyInALabelHolder
aspect for the label for 'method only in version A'.

o  onlyInBLabelHolder
aspect for the label for 'method only in version B'.

o  selectedClassIndexHolder

o  selectedSymbolicVersionHolder

o  selectedSymbolicVersionIndexHolder

o  selectedVersionHolder

o  selectedVersionIndex

o  selectedVersionIndexHolder

o  singleMethodCodeViewClass
^ CodeView.

o  symbolicVersionList

o  symbolicVersionNameList

o  versionEntriesList

o  versionList

aspects-exported
o  changedLabelHolder: aValueHolder

o  classHolder

o  classHolder: aValueHolder

o  onlyInALabelHolder: aValueHolder

o  onlyInBLabelHolder: aValueHolder

o  versionAHolder: aValueHolder

o  versionBHolder: aValueHolder

aspects-menu
o  canAcceptInCodeView

o  createPatchFileEnabled

o  createPatchFileVisible
for now

o  hasChangeSelectedInA

o  hasChangeSelectedInB

o  hasChangeSelectedInM

o  hasClassFilters

o  hasClassPatternFilter

o  hasMoreVersionsInVersionList
If there are more than one versions

o  hasNextVersionInVersionList
versions are sorted youngest first.
If the current selected one is the first, there is no next version

o  hasPreviousVersionInVersionList
versions are sorted youngest first.
If the current selected one is the last, there is no previous version

o  hasRememberedFilters

o  hasSelectorFilters

o  hasSelectorPatternFilter

o  highlightSymbolicVersionsWithThisVersion

o  showingClassChangeSet

o  versionsMenu

change & update
o  filterChanged
remember selection and scroll positions

o  methodsChangedSelectionChanged
the selection in the list of the 'changed methods' changed.
Reset the selection of the two other lists and calc the method change.
<return: self>

o  methodsOnlyInASelectionChanged
the selection in the list of the 'method only in version A' changed.
Reset the selection of the two other lists and show the method in
the text view.
<return: self>

o  methodsOnlyInBSelectionChanged
the selection in the list of the 'method only in version B' changed.
Reset the selection of the two other lists and show the method in
the text view.
<return: self>

o  selectVersion: version
if not found, get more version infos

o  selectedClassIndexHolderChanged

o  selectedSymbolicVersionHolderChanged

o  selectedSymbolicVersionIndexHolderChanged

o  selectedVersionHolderChanged
remember the previous selected method

o  selectedVersionIndexHolderChanged

o  shortChangeInfoFor: changeA and: changeB
see if the semantics have changed (or only prettyPrinted)

o  showActivity: someMessage
some activityNotification shalt be communicated to the user.

o  update: something with: parameter from: changedObject
(comment from inherited method)
dependent is notified of some change -
Default is to try update:with:

o  updateLabels
update the labels of the diff text view. Show the version numbers
of the class.

o  updateLists
walk over the changeSet(s) and setup the 3 lists:
onlyInA, changed, onlyInB,
Optionally filter extensions, categoryChanges and versionMethods,
changes with same semantic (variable renames)
and changes which have been explicitly filtered by the user.

o  updateVersionList
asks the classes source code manager for a list of revisions;
construct versionInfoList (containing the full info), versionList (containing version numbers only)
and tagList (containing symbolic names only).
This is only used when comparing multiple versions.

initialization & release
o  initialize
(comment from inherited method)
nothing done here;
but can be redefined in concrete applications

o  postBuildWith: aBuilder
components which are invisible should be ignored by the panel.
Cannot be set via the interface builder.

<return: self>

o  postOpenWith: aBuilder
if there is only the modifiedList box visible,

menu actions
o  anySelectedChangeForMenuOperation
return the selected change (from any list)

o  browseChange: aChange
browse the change in aChange

o  browseClass
browse the selected method (in any list).

o  browseClassInA
browse the selected method.

o  browseClassInB
browse the selected method.

o  browseClassInM
browse the selected method.

o  browseImplementors
browse the selected method selector's implementors (in any list).

o  browseImplementorsInA
browse implementors of the selected method change's selector.

o  browseImplementorsInB
browse implementors of the selected method change's selector.

o  browseImplementorsOfSelectorOfChange: aChange
browse implementors of the selected method change's selector.

o  browseSenders
browse the selected method selector's senders (in any list).

o  browseSendersInA
browse senders of the selected method's selector.

o  browseSendersInB
browse senders of the selected method's selector.

o  browseSendersOfSelectorOfChange: aChange
browse senders of aChange's selector.

o  createPatchFile
create a patchFile, to patch the old version (versionA) into the new version (versionB).
I.e. a little changeFile to transport those changes.

o  createPatchFileWithVersionCheck: withVersionCheck
create a patchFile, to patch the old version (versionA) into the new version (versionB).
I.e. a little changeFile to transport those changes.

o  hideDiffsWithCommentOrFormattingChangeOnlyHolder: newValue
state of hide changes which have no semantic effect has changed

o  inspectSelectedChangeInA
inspect the selected method change for the 'method only in version A'.

o  inspectSelectedChangeInB
inspect the selected method change for the 'method only in version B'.

o  inspectSelectedChangeInM
inspect the two method changes for the selected 'changed method'.

o  mainMenu
if this application runs as an subapplication,
the menu bar should not be used.

o  menuAHolder

o  menuBHolder

o  menuCheckinClass
only do if we compare a single class

o  menuMHolder

o  menuRemoveClassFromChangeSet
only do if we compare a single class

o  menuSelectClass
let user choose a class to be shown

o  openDocumentation
Called when <F1> is pressed

menu actions - filters
o  currentFilterParameters
get the current settings

o  exportFilterParameters
generate XML with the current settings
(to be pasted into Jabber for interchange)

o  filterClassAndPrivateClassesInA
filter all changes for the selected change's class and its private classes (don't show it).

o  filterClassAndPrivateClassesInB
filter all changes for the selected change's class and its private classes (don't show it).

o  filterClassAndPrivateClassesInM
filter all changes for the selected change's class and its private classes (don't show it).

o  filterClassAndPrivateClassesNamed: nonMetaClassName
filter all changes for the given class and its private classes (don't show it).

o  filterClassInA
filter all changes for the selected change's class (don't show it).

o  filterClassInB
filter all changes for the selected change's class (don't show it).

o  filterClassInM
filter all changes for the selected change's class (don't show it).

o  filterClassNamed: nonMetaClassName
filter all changes for the given class (don't show it).

o  filterClassesMatching
ask for a GLOB pattern;
filter all changes with matching classnames .

o  filterMethod: aChange
filter this change (don't show it).

o  filterMethodInA
filter this entry (don't show it).

o  filterMethodInB
filter this entry (don't show it).

o  filterMethodInM
filter this entry (don't show it).

o  filterSelectorFromA
filter all changes for the selected change's selector(don't show it).

o  filterSelectorFromB
filter all changes for the selected change's selector(don't show it).

o  filterSelectorFromChange: aChange
common to set a filter;
gets the change as argument,
takes its selector and adds it to the filters

o  filterSelectorFromM
filter all changes for the selected change's selector(don't show it).

o  filterSelectorFromSet: setOfChanges
common to set a filter;
get the sub-set (A,B,M as argument),
takes its first selection and adds it to the filters

o  filterSelectorsMatching
ask for a GLOB pattern;
filter all changes with matching selectors.

o  forgetFilterNamed
forget a remembered named filter

o  importFilterParameters
ask for XML representation as exported previously.
(to be pasted from Jabber for interchange)

o  inspectFilterParameters
inspect the current settings

o  loadFilterNamed
load a remembered named filter

o  rememberFilterAs
remember the current settings under a named filter

o  removeAllClassFilters
clear all the current class filter (but not named ones)

o  removeAllSelectorFilters
clear all the current class filter (but not named ones)

o  removeClassPatternFilter
clear the current class filter (but not named ones)

o  removeSelectorPatternFilter
clear the current selector filter (but not named ones)

o  setFilterChangedAfter: aTimestamp

o  setFilterChangedBefore: aTimestamp

o  setFilterParameters: filter
setup from a remembered filter

menu actions - searching
o  findNextChangeWithStringIn: listOfchanges selectionHolder: whichMethodSelectionHolder
common code to select the next change which contains some string

o  findNextChangeWithStringInA
select the next change which contains some string

o  findNextChangeWithStringInB
select the next change which contains some string

o  findNextChangeWithStringInM
select the next change which contains some string

o  findNextChangeWithStringInPairs: listOfchangePairs selectionHolder: whichMethodSelectionHolder
select the next change which contains some string

o  findVersionChangedMethodMatching
search for any older version which has a change for
a method whose name matches pattern

o  findVersionChangedMethodMatching: pattern
search for any older version which has a change for
a method whose name matches pattern

menu actions - version list
o  findPreviousRevisionWithChangeForSelector: aSelector
find a previous revision where this method has been changed

o  findPreviousRevisionWithChangeForSelector: aSelectorOrPattern doMatch: doMatchArg
find a previous revision where this method has been changed

o  findPreviousRevisionWithChangeFormatchingSelector: aSelectorPattern
find a previous revision where a method has been changed

o  previousVersion
return the version of the one before the selected version;
nil if there is none

o  versionMenuBrowseChangesSinceRevision
generate a single changeSet, which contains all changes from the selected version
up to the current.
Can be used to generate change-files or for code reviews

o  versionMenuCompareAgainstNextVersion
open a version diff on the selected vs. the next versions.
(i.e. show what was different in the selected one w.r.t the next one)

o  versionMenuCompareAgainstPreviousVersion
open a version diff on the selected vs. the previous version
(i.e. show what was changed in the selected one)

o  versionMenuCompareAgainstVersion
ask for a version number,
then open a version diff on the selected vs. the specified version
(i.e. show what was changed in the selected one)

o  versionMenuFindPreviousRevisionWithChangeFor
ask for a selector;
find a previous revision where this method has been changed

o  versionMenuLoadSelectedRevision

o  versionMenuTagSelectedRevision

private
o  addAcceptToTextViewMenus
add to the standard diff text view or single text views menu an accept entry.
The acceptAction will fetch the corresponding change and apply it
(not the shown text)

<return: self>

o  openClassVersionDiffBetween: versionA and: versionB
common helper for compare with prev/next

o  printStringForChange: aChange
generate a print string for a change.

o  resetSelectionHolders
reset all selection holders when a new change set is given.
First set the selection to nil.

<return: self>

o  showDiffTextView
if a method change is selected, then show the diff text view.
Add an accept entry to the popup menu.

<return: self>

o  showSingleTextView
if a method is selected which is only in version A or B of the class,
then show the text view.
Add an accept entry to the popup menu.

<return: self>

o  showVersionInfoIfNothingSelected
show the revision info (author, date, time and logMessage),
if no method is selected

o  versionInfoOfVersion: aVersionString
retrieve a revision's info (author, date, time and logMessage

setup
o  setupForClass: aClass againstVersion: aVersionA
compute the class change set for the class aClass of its current version against the repository version A.
When setting the class change set, the labels, list etc. of the receiver
are updated.

o  setupForClass: classA labelA: aLabelA andClass: classB labelB: aLabelB
generate the class change set from the two classes A and B.
When setting the class change set, the labels, list etc. of the receiver
are updated.

o  setupForClass: aClass labelA: aLabelA sourceA: aSourceA labelB: aLabelB sourceB: aSourceB
generate the class change set from the two source files A and B.
When setting the class change set, the labels, list etc. of the receiver
are updated.

o  setupForClass: aClass versionA: aVersionA versionB: aVersionB
compute the class change set for the class aClass and the versions A and B.
When setting the class change set, the labels, list etc. of the receiver
are updated.

o  setupForDiffSet: diffSet labelA: aLabelA labelB: aLabelB
present a set of diffs


Private classes:

    ClassChangeSet
    FilterParameters


ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Sat, 27 Jul 2024 06:23:27 GMT