eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'SourceCodeManagerUtilities':

Home

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

Class: SourceCodeManagerUtilities


Inheritance:

   Object
   |
   +--SourceCodeManagerUtilities
      |
      +--DataBaseSourceCodeManagerUtilities
      |
      +--PerforceSourceCodeManagerUtilities
      |
      +--SourceCodeManagerUtilitiesForContainerBasedManagers
      |
      +--SourceCodeManagerUtilitiesForWorkspaceBasedManagers

Package:
stx:libbasic3
Category:
System-SourceCodeManagement
Version:
rev: 1.376 date: 2019/07/09 18:49:07
user: cg
file: SourceCodeManagerUtilities.st directory: libbasic3
module: stx stc-classLibrary: libbasic3
Author:
Claus Gittinger (cg@exept)

Description:


utility code which is useful at more than one place
(extracted from the browser)



[instance variables:]

[class variables:]


Related information:



Class protocol:

Signal constants
o  yesToAllNotification

o  yesToAllQuery

accessing
o  default

o  lastModule
return the value of the static variable 'LastModule' (automatically generated)

o  lastModule: something
set the value of the static variable 'LastModule' (automatically generated)

o  lastPackage
return the value of the static variable 'LastPackage' (automatically generated)

o  lastPackage: something
set the value of the static variable 'LastPackage' (automatically generated)

error handling
o  doesNotUnderstand: aMessage
Bad, method moved to instance side but not forwarded

instance creation
o  forManager: aSourceCodeManager

o  new
return an initialized instance

private-migration
o  compileForwarders
Utility method

usage example(s):

        SourceCodeManagerUtilities compileForwarders.

resources
o  resourcePackage

utilities
o  classIsNotYetInRepository: aClass withManager: mgr

o  nameOfExtensionsContainer

o  setPackageOfAllMethodsIn: aClass to: aPackage

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

o  setPackageOfAllMethodsInChangeSet: aChangeSet to: aPackage

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

o  sourceCodeManagerFor: aClass
self warn:'SourceCodeManagement is disabled or not configured.\\Please setup in the Launcher.' withCRs.

o  sourceCodeOfClass: aClass

o  versionString: a isLessThan: b
SourceCodeManagerUtilities default versionString:'1.10.2' isLessThan:'1.100.1'


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

utilities-cvs
o  changeSetForExtensionMethodsForPackage: packageToCheckOut askForRevision: askForRevision usingManager: aSourceCodeManager

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

o  changeSetForExtensionMethodsForPackage: packageToCheckOut revision: revisionOrNil orAskForRevision: askForRevision usingManager: aSourceCodeManager

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

o  checkForExistingModule: module directory: directory container: containerFileName usingManager: mgr allowCreate: allowCreate

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

o  checkForExistingModule: module directory: directory usingManager: mgr allowCreate: allowCreate

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

o  checkForExistingModule: module usingManager: mgr allowCreate: allowCreate

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

o  checkinClass: aClass

o  checkinClass: aClass withInfo: aLogInfoOrNil

o  checkinClass: aClass withInfo: aLogInfoOrNil withCheck: doCheckClass

o  checkinClasses: aCollectionOfClass

o  checkinClasses: aCollectionOfClasses withInfo: aLogInfoOrNil

o  checkinClasses: aCollectionOfClasses withInfo: aLogInfoOrNil onBranch: branchNameOrNil

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

o  checkinClasses: aCollectionOfClasses withInfo: aLogInfoOrStringNil withCheck: doCheckClasses

o  checkinClasses: aCollectionOfClasses withInfo: aLogInfoOrStringNil withCheck: doCheckClasses onBranch: branchNameOrNil

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

o  checkinExtensionMethods: aCollectionOfMethods forPackage: aPackageID withInfo: aLogInfoOrStringOrNil

o  checkinExtensionMethods: aCollectionOfMethods forPackage: aPackageID withInfo: aLogInfoOrStringOrNil onBranch: branchNameOrNil

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

o  checkoutClass: aClass askForMerge: askForMerge

o  checkoutClass: aClass askForRevision: askForRevision askForMerge: askForMerge

o  checkoutClass: aClass askForRevision: askForRevision askForMerge: askForMerge askForConfirmation: askForConfirmation

o  checkoutExtensionMethodsForPackage: packageToCheckOut askForRevision: askForRevision askForMerge: askForMerge usingManager: aSourceCodeManager

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

o  compareClassWithRepository: aClass

o  compareClassWithRepository: aClass askForRevision: askForRevision

o  compareProject: aProject withRepositoryVersionFrom: aDateOrNilForNewest

o  compareProject: aProject withRepositoryVersionFrom: aDateOrNilForNewest extensionsOnly: extensionsOnly

o  compareProjectWithRepository: aProject

o  createSourceContainerForClass: aClass

o  defineSourceContainerForClass: aClass title: title text: boxText createDirectories: createDirs createContainer: createContainer

o  diffSetOfProject: aProject againstRepositoryVersionFrom: aDateOrNilForNewest

o  diffSetOfProject: aProject againstRepositoryVersionFrom: aDateOrNilForNewest extensionsOnly: extensionsOnly

o  ensureCorrectVersionMethodsInClass: aClass usingManager: aManager

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

o  getLogMessageForClassCheckinTakingDefaultsFromPreviousLogInfo: aLogInfoOrNil forClass: aClass valuesInto: aBlock

o  removeSourceContainerForClass: aClass

o  removeSourceContainerForClass: aClass confirm: doConfirm warn: doWarn

o  repositoryLogOf: aClass onto: aStream

o  repositoryLogOf: aClass short: shortOrNot onto: aStream

o  tagClass: aClass as: tag

o  tagClasses: aCollectionOfClasses as: tag

o  tagPath: aPath as: tag usingManager: aManager

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

utilities-cvs-helpers
o  getMethodVersionsOfClass: aClass selector: selector numberOfRevisions: numberOfRevisionsOrNil

utilities-cvs-user interaction
o  askForContainer: boxText title: title note: notice initialModule: initialModule initialPackage: initialPackage initialFileName: initialFileName

o  askForContainer: boxText title: title note: notice initialModule: initialModule initialPackage: initialPackage initialFileName: initialFileName forNewContainer: forNewContainer

o  askForExistingRevision: boxText title: title class: aClass

o  askForExistingRevision: boxText title: title class: clsOrNil manager: aSourceCodeManager module: module package: directory fileName: fileName

o  checkAndWarnAboutBadMessagesInClass: aClass checkAgainHolder: checkAgainHolder

o  getCheckinInfoFor: aClassNameOrPackageNameString initialAnswer: initialAnswerOrNil

o  getCheckinInfoFor: aClassNameOrPackageNameString initialAnswer: initialAnswerOrNil withQuickOption: withQuickOption

o  goodInitialLogMessageForCheckinClassOfClass: aClass
figure out, if there were any non-comment changes.
Provide a reasonable initial log message (I am tired of typing in 'comment only').
This is a q&d hack - not complete and not correct (for example, it will generate a method change
info line, even if the selector was removed afterwards).
So check the outcome.

utilities-encoding
o  guessEncodingOfFile: aFilename

o  guessEncodingOfStream: aStream


Instance protocol:

accessing
o  confirmNewFiles: aBoolean
if true, ask if new files are about to be added to the repo

o  lastSourceLogMessageHeadlines

o  yesToAllNotification

o  yesToAllQuery

error handling
o  doesNotUnderstand: aMessage
Bad, method is not moved the the instance side

initialization
o  initialize
(comment from inherited method)
just to ignore initialize to objects which do not need it

o  setManager: aSourceCodeManager
not yet set by user

utilities
o  classIsNotYetInRepository: aClass withManager: mgr

o  defaultManager

o  nameOfExtensionsContainer

o  setPackageOfAllMethodsIn: aClass to: aPackage
make all methods belong to the classes project

o  setPackageOfAllMethodsInChangeSet: aChangeSet to: aPackage
make all methods belong to the classes project

o  sourceCodeForExtensions: aCollectionOfMethods package: aPackageID forManager: scmManagerOrNil
don't write a timestamp. Otherwise we would always generate a new version, even if nothing changed

o  sourceCodeManagerFor: aClass

o  sourceCodeOfClass: aClass

o  validateConsistencyOfPackage: aPackage

o  validateConsistencyOfPackage: aPackageSymbolOrClass doClasses: doClasses doExtensions: doExtensions
also done by ProjectChecker...

o  versionString: a isLessThan: b
compare two strings of the form: a.b.c...

usage example(s):

     self assert:(self default versionString:'12.34.66' isLessThan:'12.35.66').
     self assert:(self default versionString:'12.34.66' isLessThan:'12.35.67').
     self assert:(self default versionString:'11.34.66' isLessThan:'12.34.67').
     self assert:(self default versionString:'11.35.66' isLessThan:'12.34.67').
     self assert:(self default versionString:'13.35.66' isLessThan:'12.34.67') not.
     self assert:(self default versionString:'13.35.66' isLessThan:'13.34.67') not.
     self assert:(self default versionString:'13.35.66' isLessThan:'13.35.67').
     self assert:(self default versionString:'13.35.66' isLessThan:'13.35.65') not.
     self assert:(self default versionString:'13.35.66.1' isLessThan:'13.35.66') not.
     self assert:(self default versionString:'13.35.66' isLessThan:'13.35.66.1').
     self assert:(self default versionString:'13.35.66.2' isLessThan:'13.35.66.1') not.
     self assert:(self default versionString:'13.35.66.1' isLessThan:'13.35.66.2').

utilities-encoding
o  guessEncodingOfFile: aFilename
look for a string
encoding #name
or:
encoding: name
within the given buffer
(which is usually the first few bytes of a textFile).
If that's not found, use heuristics (in CharacterArray) to guess.

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

o  guessEncodingOfStream: aStream
look for a string of the form
encoding #name
or:
encoding: name
in the first few bytes of aStream.

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

utilities-scm
o  askForPackageVersion: question with: includeSubProjectsHolderOrNil knownTags: knownTags into: aTwoArgBlock

o  changeSetForExtensionMethodsForPackage: packageToCheckOut askForRevision: askForRevision usingManager: aSourceCodeManager
check-out an extension container from the source repository,
and return the methods there as a change set.
If askForRevision is false, check-out the newest version.
Return a changeSet or nil (if any error occurred)

o  changeSetForExtensionMethodsForPackage: packageToCheckOut revision: revisionOrNil orAskForRevision: askForRevision usingManager: aSourceCodeManager
check-out an extension container from the source repository, and return the methods there as a change set.
If askForRevision is false, check-out the newest version.
Return a changeSet or nil (if any error occurred)

o  checkForExistingModule: module directory: directory container: containerFileName usingManager: mgr allowCreate: allowCreate

o  checkForExistingModule: module directory: directory usingManager: mgr allowCreate: allowCreate

o  checkForExistingModule: module usingManager: mgr allowCreate: allowCreate

o  checkOutPackages: packages askForRevision: askForRevision
Updates code of given packages (loaded in the image) to a specific revision.
If `askForRevision` is true, then user is asked to specify to which revision to
update. If `askForRevision` is false, then packages are updated to a 'newest'
revision.

NOTE: Definition of `newest` revision may vary. For SCMs which allows for multiple
heads, it is not clear which one it is. In that case, even if `askForRevision` is
false, this method may result in user interation, asking user to select which of the
newest she wants.

NOTE: Naming is bit confusing, it should be something like #updatePackages:ask...
but to keep this in line with other methods, we use #checkOutPackages

** This method raises an error - it must be redefined in concrete classes **

o  checkinClass: aClass
check a class into the source repository.
Asks interactively for a log-message.

o  checkinClass: aClass withInfo: aLogInfoOrNil
check a class into the source repository.
If the argument, aLogInfoOrNil isNil, ask interactively for a log-message.

o  checkinClass: aClass withInfo: aLogInfoOrNil withCheck: doCheckClass
check a class into the source repository.
If the argument, aLogInfoOrNil isNil, ask interactively for log-message.
If doCheckClass is true, the class is checked for send of halts etc.

o  checkinClass: aClass withInfo: aLogInfoOrNil withCheck: doCheckClassHolder usingManager: managerOrNil
check a class into the source repository.
If the argument, aLogInfoOrNil isNil, ask interactively for log-message.
If doCheckClass is true, the class is checked for send of halts etc.

o  checkinClass: aClass withInfo: aLogInfoOrNil withCheck: doCheckClassHolder usingManager: managerOrNil confirmNewContainer: confirmNewContainer
check a class into the source repository.
If the argument, aLogInfoOrNil isNil, ask interactively for log-message.
If doCheckClass is true, the class is checked for send of halts etc.

o  checkinClass: aClass withInfo: aLogInfoOrNil withCheck: doCheckClassHolder usingManager: managerOrNil confirmNewContainer: confirmNewContainer onBranch: branchNameOrNil
check a class into the source repository.
If the argument, aLogInfoOrNil isNil, ask interactively for log-message.
If doCheckClass is true, the class is checked for send of halts etc.

o  checkinClasses: aCollectionOfClass
check a collection of classes into the source repository.
Asks interactively for log-message.

o  checkinClasses: aCollectionOfClasses withInfo: aLogInfoOrNil
check a bunch of classes into the source repository.
If the argument, aLogInfoOrNil isNil, ask interactively for log-message.

o  checkinClasses: aCollectionOfClasses withInfo: aLogInfoOrNil onBranch: branchNameOrNil
check a bunch of classes into the source repository.
If the argument, aLogInfoOrNil isNil, ask interactively for log-message.

o  checkinClasses: aCollectionOfClasses withInfo: aLogInfoOrStringNil withCheck: doCheckClassesHolder
check a bunch of classes into the source repository.
If the argument, aLogInfoOrStringNil isNil, ask interactively for log-message.

o  checkinClasses: aCollectionOfClasses withInfo: aLogInfoOrStringNil withCheck: doCheckClassesHolder onBranch: branchNameOrNil
check a bunch of classes into the source repository.
If the argument, aLogInfoOrStringNil isNil, ask interactively for log-message.

o  checkinClasses: aCollectionOfClasses withInfo: aLogInfoOrStringOrNil withCheck: doCheckClassesHolder usingManager: aManagerOrNil
check a bunch of classes into the source repository.
If the argument, aLogInfoOrStringOrNil isNil, ask interactively for log-message.

o  checkinClasses: aCollectionOfClasses withInfo: aLogInfoOrStringOrNil withCheck: doCheckClassesHolder usingManager: aManagerOrNil confirmNewContainer: confirmNewContainer
check a bunch of classes into the source repository.
If the argument, aLogInfoOrStringOrNil isNil, ask interactively for log-message.

o  checkinClasses: aCollectionOfClasses withInfo: aLogInfoOrStringOrNil withCheck: doCheckClassesHolder usingManager: aManagerOrNil confirmNewContainer: confirmNewContainer onBranch: branchNameOrNil
check a bunch of classes into the source repository.
If the argument, aLogInfoOrStringOrNil isNil, ask interactively for log-message.

o  checkinClasses: aCollectionOfClasses withInfo: aLogInfoOrStringOrNil withCheck: doCheckClassesHolder usingManager: aManagerOrNil onBranch: branchNameOrNil
check a bunch of classes into the source repository.
If the argument, aLogInfoOrStringOrNil isNil, ask interactively for log-message.

o  checkinPackage: packageToCheckIn classes: doClasses extensions: doExtensions buildSupport: doBuild askForMethodsInOtherPackages: askForMethodsInOtherPackages

o  checkinPackage: packageToCheckIn classes: doClasses extensions: doExtensions buildSupport: doBuild askForMethodsInOtherPackages: askForMethodsInOtherPackages onBranch: branchNameOrNil

** This method raises an error - it must be redefined in concrete classes **

o  checkoutClass: aClass askForMerge: askForMerge
check-out a class from the source repository.

o  checkoutClass: aClass askForRevision: askForRevision askForMerge: askForMerge
check-out a class from the source repository.
If askForRevision is false, check-out the newest version.

o  checkoutClass: aClass askForRevision: askForRevision askForMerge: askForMerge askForConfirmation: askForConfirmation
check-out a class from the source repository.
If askForRevision is false, check-out the newest version.

o  checkoutExtensionMethodsForPackage: packageToCheckOut askForRevision: askForRevision askForMerge: askForMerge usingManager: aSourceCodeManager
check-out a class from the source repository.
If askForRevision is false, check-out the newest version.

o  compareClassWithRepository: aClass
open a diff-textView comparing the current (in-image) version
against its orgiginal version found in the repository.

usage example(s):

      self compareClassWithRepository:Array

o  compareClassWithRepository: aClass askForRevision: askForRevision
open a diff-textView comparing the current (in-image) version
against the newest (askForRevision=false)
or an asked-for version (askForRevision=true) found in the repository.

usage example(s):

      self compareClassWithRepository:Array

o  comparePackages: packages askForRevision: askForRevision
Compares code of given packages (loaded in the image) against a specific revision
and opens a diff browser on differences.

If `askForRevision` is true, then user is asked to specify to which revision to
update. If `askForRevision` is false, then packages are updated to a 'newest'
revision.

NOTE: Definition of `newest` revision may vary. For SCMs which allows for multiple
heads, it is not clear which one it is. In that case, even if `askForRevision` is
false, this method may result in user interaction, asking user to select which of the
newest she wants.

o  comparePackages: packages askForRevision: askForRevision extensionsOnly: extensionsOnly
Compares code of given packages (loaded in the image) against a specific revision
and opens a diff browser on differences.

If `askForRevision` is true, then user is asked to specify to which revision to
update. If `askForRevision` is false, then packages are updated to a 'newest'
revision.

NOTE: Definition of `newest` revision may vary. For SCMs which allows for multiple
heads, it is not clear which one it is. In that case, even if `askForRevision` is
false, this method may result in user interaction, asking user to select which of the
newest she wants.

o  compareProject: aProject repositoryVersionFrom: dateOrNilV1 orTag: symbolicNameOrNilV1 againstRepositoryVersionFrom: dateOrNilV2 orTag: symbolicNameOrNilV2 extensionsOnly: extensionsOnly

o  compareProject: aProject withRepositoryVersionFrom: aDateOrNilForNewest

o  compareProject: aProject withRepositoryVersionFrom: aDateOrNilForNewest extensionsOnly: extensionsOnly

o  compareProject: aProject withRepositoryVersionTaggedAs: aSymbolicName

o  compareProject: aProject withRepositoryVersionTaggedAs: aTagOrNil extensionsOnly: extensionsOnly
if aTagOrNil is nil, compare against the newest version in the repositry

usage example(s):

     CVSSourceCodeManager utilities
            compareProject:'stx:libbasic2'
            withRepositoryVersionTaggedAs:nil 
            extensionsOnly:false.

     CVSSourceCodeManager utilities
            compareProject:'stx:libbasic2'
            withRepositoryVersionTaggedAs:'expecco_2_10_0' 
            extensionsOnly:false.

o  compareProjectWithRepository: aProject

o  compareTwoPackageVersions: packages
Compares two versions of given packages.

o  compareTwoPackageVersions: packagesIn extensionsOnly: extensionsOnly
Compares two versions of given packages
and opens a diff browser on differences.

usage example(s):

     CVSSourceCodeManager utilities
        compareTwoPackageVersions:#('stx:libbasic') extensionsOnly:true   

o  createSourceContainerForClass: aClass
let user specify the source-repository values for aClass.
Return false, if failed.

o  createSourceContainerForClass: aClass usingManager: aManager
let user specify the source-repository values for aClass.
Return false, if failed.

o  createSourceContainerForClass: aClass usingManager: aManager confirmNewContainer: confirmNewContainer
let user specify the source-repository values for aClass.
Return false, if failed.

o  defineSourceContainerForClass: aClass title: title text: boxText createDirectories: createDirs createContainer: createContainer
let user specify the source-repository values for aClass

o  defineSourceContainerForClass: aClass usingManager: mgr title: title text: boxText createDirectories: createDirs createContainer: createContainer
let user specify the source-repository values for aClass

o  defineSourceContainerForClass: aClass usingManager: mgr title: title text: boxText createDirectories: createDirs createContainer: createContainer confirmNewContainer: confirmNewContainer
let user specify the source-repository values for aClass

o  diffSetOfProject: aProject againstRepositoryVersionFrom: aDateOrNilForNewest

o  diffSetOfProject: aProject againstRepositoryVersionFrom: aDateOrNilForNewest extensionsOnly: extensionsOnly

o  diffSetOfProject: aProject againstRepositoryVersionFrom: aDateOrNilForNewest orTag: aTagOrNil
return a diffset against either the newest (head), or the version at a particular date,
or a the version with a particular tag.

o  diffSetOfProject: aProject againstRepositoryVersionFrom: aDateOrNilForNewest orTag: aTagOrNil extensionsOnly: extensionsOnly
return a diffset against the version at a particular date (if not nil),
or a the version with a particular tag (if not nil),
or the newest (head) (if both are nil).

o  diffSetOfProject: aProject againstRepositoryVersionTaggedAs: symbolicName

o  diffSetOfProject: aProject againstRepositoryVersionTaggedAs: aTag extensionsOnly: extensionsOnly

o  diffSetOfProject: aProject repositoryVersionFrom: aDateOrNilV1 orTag: aTagOrNilV1 againstRepositoryVersionFrom: aDateOrNilV2 orTag: aTagOrNilV2 extensionsOnly: extensionsOnly
return a diffset of two repository versions,
each specified by either a version at a particular date,
or a the version with a particular tag.

o  ensureCorrectVersionMethodsInClass: aClass usingManager: aManager
(theMetaclass includesSelector:oldVersionMethodName) ifTrue:[

o  fetchSourceOf: aClass askForRevision: askForRevision into: aBlockToReturnMultipleValues
fetch the source of either the newest version or the revision being asked for,
or nil, if there are any problems.
Helper method

o  getLogMessageForClassCheckinTakingDefaultsFromPreviousLogInfo: aLogInfoOrNil forClass: aClass valuesInto: aBlock
open a dialog, asking for commit/checkin log info.
Returns 2 values: a log message and additional checkinInfo (containing things like
markAsStable, etc,)

o  knownTagsInPackages: packages
return the symbolic names given to any version in packages.
Being lazy, assume tags are persistent across packages (which they are not required to be...)
and only fetch the tag names from the first given package.
May raise an error, if the repository cannot be accessed

usage example(s):

     CVSSourceCodeManager utilities knownTagsInPackages:#( 'stx:libbasic' 'stc:libbasic2' )

o  removeSourceContainerForClass: aClass
show container & let user confirm twice.

o  removeSourceContainerForClass: aClass confirm: doConfirm warn: doWarn
show container & optionally let user confirm twice.

o  removeSourceContainerForClass: aClass usingSourceInfo: info confirm: doConfirm warn: doWarn
show container & optionally let user confirm twice.

o  repositoryLogOf: aClass onto: aStream

o  repositoryLogOf: aClass short: shortOrNot onto: aStream
old

o  tagClass: aClass as: tag

o  tagClasses: aCollectionOfClasses as: tag

o  tagClasses: aCollectionOfClasses as: tag revision: revision
Modified (format): / 07-12-2017 / 10:48:36 / cg

o  tagPackage: package as: tag
TODO: what about build support files and extensions???

o  tagPath: aPath as: tag usingManager: aManager

utilities-scm-helpers
o  getMethodVersionsOfClass: aClass selector: selector numberOfRevisions: numberOfRevisionsOrNil
check-out all previous versions of aClass and retrieve the history of selector.
Return a dictionary associating revision with a changeList entries for that method.
Unfinished - need a GUI for that.

usage example(s):

     self getMethodVersionsOfClass:MenuPanel selector:#'helpTextForItem:' numberOfRevisions:20
     self getMethodVersionsOfClass:NewLauncher class selector:#'menu' numberOfRevisions:20

utilities-scm-user interaction
o  askForContainer: boxText title: title note: notice initialModule: initialModule initialPackage: initialPackage initialFileName: initialFileName
open a dialog asking for a source container;
return a dictionary containing module, package and filename,
or nil if canceled.

o  askForContainer: boxText title: title note: notice initialModule: initialModule initialPackage: initialPackage initialFileName: initialFileName forNewContainer: forNewContainer
open a dialog asking for a source container;
return a dictionary containing module, package and filename,
or nil if canceled.

usage example(s):

     self 
        askForContainer:'enter container' title:'container' note:'some note'
        initialModule:'foo' initialPackage:'bar' initialFileName:'baz'        

o  askForExistingRevision: boxText title: title class: aClass
open a dialog asking for a containers revision;
return a revision number, or nil if canceled.

o  askForExistingRevision: boxText title: title class: clsOrNil manager: aSourceCodeManager module: module package: directory fileName: fileName
open a dialog asking for a containers revision;
return a revision number, or nil if canceled.

usage example(s):

     CVSSourceCodeManager utilities
        askForExistingRevision:'enter revision'
        title:'revision'
        class:Array
        manager:CVSSourceCodeManager 
        module:'stx'
        package:'libbasic'
        fileName:nil

o  checkAndWarnAboutBadMessagesInClass: aClass checkAgainHolder: checkAgainHolder
check if a class contains message-sends to:
#halt , #halt:
#error
#todo , #todo:
(and maybe more in the future)

Only checks in non-extension methods - as this is only called when checking

usage example(s):

     self checkAndWarnAboutBadMessagesInClass:(SourceCodeManagerUtilities)  

o  getCheckinInfoFor: aClassNameOrPackageNameString initialAnswer: initialAnswerOrNil
ask for a log message for checking in a class (plus checkinQuick state info),
and other info (mark as stable, for example).
Return the info-object (actually: the dialog) or nil if aborted.

usage example(s):

     SourceCodeManagerUtilities getCheckinInfoFor:'hello' initialAnswer:'bla'

o  getCheckinInfoFor: aClassNameOrPackageNameString initialAnswer: initialAnswerOrNil withQuickOption: withQuickOption
ask for a log message for checking in a class (plus checkinQuick state info),
and other info (mark as stable, for example).
Return the info-object (actually: the dialog) or nil if aborted.

usage example(s):

     SourceCodeManagerUtilities default getCheckinInfoFor:'hello' initialAnswer:'bla'

o  getCheckinInfoFor: infoString initialAnswer: initialAnswerOrNil withQuickOption: withQuickOption withValidateConsistencyOption: withValidateConsistencyOption
ask for a log message for checking in a class (plus checkinQuick state info),
and other info (mark as stable, for example).
Return the info-object (actually: the dialog) or nil if aborted.

usage example(s):

     SourceCodeManagerUtilities default getCheckinInfoFor:'hello' initialAnswer:'bla'

o  getCheckinInfoFor: infoString initialAnswer: initialAnswerOrNil withQuickOption: withQuickOption withValidateConsistencyOption: withValidateConsistencyOption showChangesAction: showChangesActionOrNil
ask for a log message for checking in a class (plus checkinQuick state info),
and other info (mark as stable, for example).
Return the info-object (actually: the dialog) or nil if aborted.

usage example(s):

     SourceCodeManagerUtilities default getCheckinInfoFor:'hello' initialAnswer:'bla'

o  revisionForSymbolicName: tag class: cls fileName: classFileName directory: packageDir module: moduleDir manager: aSourceCodeManager
given a tag, return the corresponding revision

usage example(s):

     CVSSourceCodeManager 
        revisionForSymbolicName:'stable' 
        class:Array fileName:'Array.st' 
        directory:'libbasic' module:'stx' 



ST/X 7.2.0.0; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Thu, 25 Apr 2024 09:32:19 GMT