eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'PerforceSourceCodeManagerUtilities::WorkSpace':

Home

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

Class: WorkSpace (private in PerforceSourceCodeManagerUtilities

This class is only visible from within PerforceSourceCodeManagerUtilities.

Inheritance:

   Object
   |
   +--PerforceSourceCodeManagerUtilities::WorkSpace

Package:
stx:libtool
Category:
System-SourceCodeManagement
Owner:
PerforceSourceCodeManagerUtilities

Class protocol:

instance creation
o  new
(comment from inherited method)
return an instance of myself without indexed variables

o  newWorkSpaceFor: aSettingsString
get the workspace definition from perforce client command output

o  newWorkSpaceForSettings: settingsDict
get the workspace definition from perforce client command output


Instance protocol:

accessing
o  client

o  client: something

o  host

o  host: something

o  owner

o  owner: something

o  perforceSettings

o  perforceSettings: something

o  root

o  root: something

o  tempDirectory

o  temporaryWorkSpace

o  views

actions
o  addCheckIn: checkInDefinition submit: doSubmit
create container for class initial check in

o  askForMergedSource: mergedSource localSource: mySource changesDict: changesDict haveRevision: haveRevision changesAsLogged: changesAsLogged pathName: pathName definitionClass: definitionClass
ooops must resolve conflicts

o  changeChangeDescriptionTo: logLines changeNumber: changeNumber

o  checkForExistingContainer: checkInDefinition

o  checkIn: checkInDefinition submit: doSubmit

o  createChange

o  createWorkSpaceClientSpecFor: checkInDefinition

o  delete: checkInDefinition submit: doSubmit

o  deleteWorkSpaceFromServer

o  getChangeDespriptionInfoFor: changeNumber

o  getChangeListNumber

o  getCurrentChangeListNumbers

o  getFileStatForPathname: aPathname
| workSpace tempWorkSpace dict|
workSpace := PerforceSourceCodeManager getWorkSpaceForPackage:'applistx'.
tempWorkSpace := workSpace temporaryWorkSpace.
dict := tempWorkSpace getFileStatForPathname:'C:\Dokumente und Einstellungen\gds2180\Lokale Einstellungen\Temp\stx_tmp\st6120368\applistx\util\libDataType\ActionLQualifier.st'.
dict includesKey:'unresolved'

o  getOpenChangeFor: checkInDefinition

o  getTemporaryWorkspaceFor: checkInDefinition
create an temporary workspace for handle checkin

o  mergeOrResolveConflictsForChangeNumber: aNumber
check for conflicts

o  releaseWorkSpace

o  revisionLogOf: clsOrNil fromRevision: firstRev toRevision: lastRef numberOfRevisions: numRevisions fileName: classFileName directory: packageDir module: aPackage
actually do return a revisionLog. The main worker method.

o  setSymbolicName: symbolicNameArg revision: rev overWrite: overWriteBool pathes: pathsInRepository
set a symbolicName for revision rev.
If rev is nil, set it for the head (most recent) revision.
If rev is 0, delete the symbolic name.
If overWriteBool is true, the symbolicName will be changed, even if it has already been set.
If overWriteBool is false, an error will be raised if symbolicName has already been set.

If filename is nil, the symbolicName for a whole package is set.
If multiple paths are given, the revision MUST be nil.

Usage example(s):

     self setSymbolicName:'stable' revision:nil overWrite:false path:'stx/libbasic/Array.st'
     self setSymbolicName:'stable' revision:nil overWrite:true path:'stx/libbasic/Array.st'

     self
        setSymbolicName:'test1'
        revision:nil
        overWrite:true
        path:'bosch/dapasx/datenbasis/DAPASX__HierarchicalList.st'

     self
        setSymbolicName:'test2'
        revision:nil
        overWrite:true
        pathes:#( 'bosch/dapasx/datenbasis/DAPASX__HierarchicalList.st'
                  'bosch/dapasx/datenbasis/DAPASX__ProjectSearch.st' )

     self
        setSymbolicName:'test2'
        revision:0
        overWrite:true
        pathes:#( 'bosch/dapasx/datenbasis/DAPASX__HierarchicalList.st'
                  'bosch/dapasx/datenbasis/DAPASX__ProjectSearch.st' )

o  streamFor: checkInDefinition revision: revision cache: doCache
extract a classes source code and return an open readStream on it.
A revision of nil selects the current (in image) revision.
The classes source code is extracted using the revision and the sourceCodeInfo,
which itself is extracted from the classes packageString.

o  submit

o  submitChangeNumber: changeNumber

basic administration
o  initialRevisionInfo: checkInDefinition
return a string usable as initial revision string

o  initialRevisionStringFor: checkInDefinition
return a string usable as initial revision string

Usage example(s):

self initialRevisionStringFor:RTDBInspectorStartup inModule:'applistx' directory:'util/rtdb' container:'RTDBInterfaceInspector.st'

o  nextRevisionStringFor: checkInDefinition

command execution
o  executePerforceCommand: perforceCommand inDirectory: dirArg inputFrom: inputStream outputTo: outputStream errorTo: errorStream
execute command and prepend perforce command name and global options.
execute command in the dirArg directory.
The doLog argument, if false suppresses a logEntry to be added
in the cvs log file (used when reading / extracting history)

o  executePerforceCommand: perforceCommand inDirectory: dirArg inputFrom: inputStream outputTo: outputStream errorTo: errorStream doLog: doLog
execute command and prepend perforce command name and global options.
execute command in the dirArg directory.
The doLog argument, if false suppresses a logEntry to be added
in the cvs log file (used when reading / extracting history)

o  executePerforceCommand: perforceCommand inDirectory: dirArg inputFrom: inputStream outputTo: outputStream errorTo: errorStream doLog: doLog logHeader: logHeader
execute command and prepend perforce command name and global options.
execute command in the dirArg directory.
The doLog argument, if false suppresses a logEntry to be added
in the cvs log file (used when reading / extracting history)

o  executePerforceCommand: perforceCommand inDirectory: dirArg inputFrom: inputStream outputTo: outputStream errorTo: errorStream logHeader: logHeader
execute command and prepend perforce command name and global options.
execute command in the dirArg directory.
The doLog argument, if false suppresses a logEntry to be added
in the cvs log file (used when reading / extracting history)

o  getCommandOptionsForCommand: perforceCommand

dialogs & helpers
o  checkinTroubleDialog: title message: message log: log abortable: abortable option: optionTitle
trouble checking in - open a dialog

o  checkinTroubleDialog: title message: message log: log abortable: abortable option: optionTitle option2: optionTitle2

o  checkinTroubleDialog: title message: message log: log abortable: abortable option: optionTitle option2: optionTitle2 option3: optionTitle3
trouble checking in - open a dialog

Usage example(s):

| changesAsLogged |
changesAsLogged := OrderedCollection new.
1 to:10 do:[:each|
    changesAsLogged add:('Hallo', each printString).
].
changesAsLogged := OrderedCollection new.
self checkinTroubleDialog:'Version conflict'
             message:'Message Message Message Message Message Message Message Message Message Message Message Message Message Message'
             log:changesAsLogged
             abortable:false
             option:'show conflicts'
             option2:'resolve conflicts'

o  diffTextComment

o  getRevisionForLabel: label depotPath: depotPath

o  messageForChangesInClass: class revision: revisionNumber

o  messageForConflictsInClass: definitionClass revision: revisionNumber

o  messageForNoChangesInClass: class

o  updatedRevisionStringOf: aClass forRevision: newRevision with: originalVersionString
update a revision string

Usage example(s):

    self updatedRevisionStringOf:nil
            forRevision:'6'
            with:'$','Header','$'

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

queries
o  getDepotPathForLocalPath: aFilename

o  getLocalPathForDepotPath: depotPath
| workSpace tempWorkSpace |
workSpace := PerforceSourceCodeManager getWorkSpaceForPackage:'applistx'.
tempWorkSpace := workSpace temporaryWorkSpace.
tempWorkSpace getLocalPathForDepotPath:'//depot/applistx/util/libDataType/ActionLQualifier.st'

o  getTemporaryFilenameFor: aFilename

o  getTemporaryViewForPackage: aPackage

o  getViewForDepotPath: depotPath

o  getViewForPackage: aPackage
PerforceSourceCodeManager perforceWorkspaces first value getViewForPackage:'applistx:application/rtdbInspector/builder'

o  getViewForPath: aPathName

o  hasViewForPackage: aPackage

o  hasViewForPath: aPathName

o  packageDirectoryForPackageId: package
PerforceSourceCodeManager perforceWorkspaces first value getViewForPackage:'applisddtx:application/rtdbInspector/builder'

o  packageDirectoryForPackageId: package checkParents: checkParents
PerforceSourceCodeManager perforceWorkspaces first value getViewForPackage:'applisddtx:application/rtdbInspector/builder'

o  perforceError

o  perforceSettingsString

o  readRevisionLogEntryFromStream: inStream
read and parse a single revision info-entry from the cvs log output.
Return nil on end.

The returned information is a structure (IdentityDictionary)
filled with:
#revision -> the revision string
#author -> who checked that revision into the repository
#date -> when was it checked in
#state -> the RCS state
#logMessage -> the checkIn log message

o  readRevisionLogEntryFromString: revLine1
read and parse a single revision info-entry from the cvs log output.
Return nil on end.

The returned information is a structure (IdentityDictionary)
filled with:
#revision -> the revision string
#author -> who checked that revision into the repository
#date -> when was it checked in
#state -> the RCS state
#logMessage -> the checkIn log message

o  temporaryClientName

read
o  getDefinitionFromServer
(PerforceSourceCodeManager getWorkSpaceForPackage:'applistx') getDefinitionFromServer

o  getWorkSpaceFromClientSpecFrom: inStream
get the workspace definition from perforce client command output

o  newWorkSpaceFor: settingsString

o  newWorkSpaceForSettings: settingsDict


Private classes:

    View


ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Mon, 30 Dec 2024 17:15:39 GMT