eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'StoreSourceCodeManager':

Home

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

Class: StoreSourceCodeManager


Inheritance:

   Object
   |
   +--AbstractSourceCodeManager
      |
      +--StoreSourceCodeManager

Package:
stx:libbasic3
Category:
System-SourceCodeManagement
Version:
rev: 1.28 date: 2022/02/23 08:03:22
user: cg
file: StoreSourceCodeManager.st directory: libbasic3
module: stx stc-classLibrary: libbasic3

Description:


WARNING:
    this class is incomplete and provided as a sceletton
    if CVS is not to be used as a SourceCodeManager.
    We highly recommend to use CVS.

SourceCodeManager which accesses sourcecode through a Store Database.
This class is part of ongoing development and not yet released for public use.

copyright

COPYRIGHT (c) 2006 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  dbName

o  dbName: aString

o  defaultDBInfo
Interface: PostgresSocketConnection 'PostgreSQLEXDIConnection prior to VW 8.0'
Environment: store.cincomsmalltalk.com:5432_store_public
User name: guest
Password: guest
Table Owner: BERN

o  hostAndDBName

o  hostAndDBName: aString

o  hostName

o  hostName: aString

o  newDBInfo

o  password

o  password: aString

o  repositoryInfoPerModule
(comment from inherited method)
return the dictionary, which associates CVSRoots to module names.
If no entry is contained in this dictionary for some module,
the default cvsRoot (CVSRoot) will be used.

o  repositoryInfoPerModule: aCollectionOfDBinfos
(comment from inherited method)
ignore here

o  repositoryNameForPackage: packageId
superclass AbstractSourceCodeManager class says that I am responsible to implement this method

o  userName

o  userName: aString

basic access
o  checkinClass: aClass fileName: classFileName directory: packageDir module: moduleDir source: sourceFile logMessage: logMessage force: force
checkin of a class into the source repository.
Return true if ok, false if not.

o  checkoutModule: aModule directory: aPackage andDo: aBlock
check out everything from a package into a temporary directory.
Then evaluate aBlock, passing the name of that temp-directory.
Afterwards, the tempDir is removed.
Return true, if OK, false if any error occurred.

o  streamForClass: aClass fileName: classFileName revision: revision directory: packageDir module: moduleDir 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.

basic administration
o  checkForExistingContainer: fileName inModule: moduleName directory: packageDirName
check for a container to exist. Return a boolean result.

o  checkForExistingModule: moduleName
check for a module directory to be present

o  createContainerFor: aClass inModule: moduleName directory: dirName container: fileName
create a new container & check into it an initial version of aClass

o  createModule: moduleName
create a new module directory

o  createModule: module directory: directory
create a new package directory

o  initialRevisionStringFor: aClass inModule: moduleDir directory: packageDir container: fileName
return a string usable as initial revision string

o  revisionLogOf: clsOrNil fromRevision: rev1OrNil toRevision: rev2OrNil numberOfRevisions: limitOrNil fileName: classFileName directory: packageDir module: moduleDir
actually do return a revisionLog. The main worker method.
This must be implemented by a concrete source-code manager

initialization
o  connectToDatabase

o  tryToConnectToDatabase: dbInfo

queries
o  isExperimental

o  isResponsibleForPackage: aStringOrSymbol
superclass AbstractSourceCodeManager class says that I am responsible to implement this method

o  managerTypeName
(comment from inherited method)
Answers version manager name suitable for UI,
i,e., CVS, SubVersion, Perforce

o  managerTypeNameShort
Answers short version manager name suitable for UI,
i,e., CVS, SVN, P4. Used in cases where sorter strings
are preferred. Defaults to #managerTypeName

o  nameOfVersionMethodForExtensions

o  nameOfVersionMethodInClasses

o  settingsApplicationClass
link to my settings application (needed for the settings dialog

o  versionMethodKeyword
Answers the keyword used by the version management system to
expand a current version in a file (_without_ dollars). For
CVS it is 'Header', for SVN 'Id', others may use different
keywords. If nil is returned, then the version management does
not use any keyword.

saving
o  savePreferencesOn: aStream

source code administration
o  getExistingContainersInModule: aModule directory: aPackage
(comment from inherited method)
return a collection containing the names of existing containers

o  getExistingDirectoriesInModule: aModule
(comment from inherited method)
return a collection containing the names of existing packages

o  getExistingModules
(comment from inherited method)
return a collection containing the names of existing modules

o  revisionInfoFromString: aString
(comment from inherited method)
return a dictionary filled with revision info.
This extracts the relevant info from aString.

subclass responsibility
o  reportHistoryLogSince: timeGoal filterSTSources: filter filterUser: userFilter filterRepository: repositoryFilter filterModules: moduleFilter inTo: aBlock
superclass AbstractSourceCodeManager class says that I am responsible to implement this method

testing
o  isStore


Private classes:

    DBInfo


ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Mon, 18 Nov 2024 06:24:07 GMT