eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'MercurialSourceCodeManager':

Home

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

Class: MercurialSourceCodeManager


Inheritance:

   Object
   |
   +--AbstractSourceCodeManager
      |
      +--MercurialSourceCodeManager

Package:
stx:libbasic3
Category:
System-SourceCodeManagement
Version:
rev: 1.13 date: 2021/01/20 12:19:34
user: cg
file: MercurialSourceCodeManager.st directory: libbasic3
module: stx stc-classLibrary: libbasic3

Description:


Attention: this will be removed soon - it has been obsoleted by the
new mercurial support found in libscm/mercurial.

SourceCodeManager which accesses the sourcecode through hg (mercurial).
ongoing work - unfinished and unusable

Comment:
    The code here is a copy-paste mess; it definitely needs some cleanup...

copyright

COPYRIGHT (c) 2012 by Claus Gittinger 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  hgBinDirectory: ignoredString
ignored - for backward compatibility (to read old settings files)

o  hgCommandTimeout
360

o  hgCommandTimeout: aTimeDuration

o  hgCommitOptions

o  hgCommitOptions: aString

o  hgExecutable
return the name of the hg executable.

o  hgExecutable: aString
set the name of the hg executable.

o  hgTmpDirectory
return the name of the tmp repository.
That's the directory, where temporary files are created for checkin/checkout.
If nil, the system's default tempDirectory is used.

o  hgTmpDirectory: aPathNameString
set the name of the tmp repository.
That's the directory, where temporary files are created for checkin/checkout.
If nil, the system's default tempDirectory is used.

o  hgUpdateOptions

o  hgUpdateOptions: aString

o  knownModules
return the modules, we currently know

o  knownRepositories
return the modules, we currently know

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

o  repositoryInfoPerModule
return the dictionary, which associates hgRepositories to module names.
If no entry is contained in this dictionary for some module,
the default crepository will be used.

o  repositoryInfoPerModule: aDictionary
set the dictionary, which associates repositories to module names.
If no entry is contained in this dictionary for some module,
the default repository will be used.

o  repositoryName
return the name of the global repository.
This is used, if no per-module repository is defined.

o  repositoryName: aDirectoryName
set the name of the repository;
that's the name of the global repository, which is used
if no specific repository was defined for a module.

o  repositoryName: aRepositoryName forModule: aModuleName
set the repository which provides the sources for all
classes in a particular module.
This can be used from an rc-script, to specify a repository
for a particular module.
If left unspecified, the global (i.e. fallBack) repository is used.

o  repositoryNameForModule: aModuleName
return the repository which provides the sources for all
classes in a particular module.
Nil is returned for unspecified moduleRoots; in this case,
the global (i.e. fallBack) repository will be used for source access.

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

o  workDirectory

o  workDirectory: aPath

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

debugging
o  verboseSourceCodeAccess

o  verboseSourceCodeAccess: aBoolean

initialization
o  forgetDisabledModules

o  hgCommandSemaphore
at most 10 hg activities concurrently

o  initialize
HGCommandSemaphore := (Semaphore new:10) name:'Concurrent Mercurial Commands'. "/ at most 10 hg activities concurrently

Usage example(s):

     AbstractSourceCodeManager initialize
     MercurialSourceCodeManager initialize

o  initializeForRepository: aDirectoryName
reinitialize.
Can be used from the launcher to change/configure the repository.

queries
o  isExperimental

o  isResponsibleForPackage: aString
JV@2011-07-09: The real check is too slow. Cache needed here

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

o  nameOfVersionMethodForExtensions
(comment from inherited method)
that is the old name; now, we use extensionsVersion_<SCM>

o  nameOfVersionMethodInClasses
(comment from inherited method)
that is the old name; now, we use version_<SCM>

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

saving
o  savePreferencesOn: aStream

testing
o  isMercurial



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Wed, 08 May 2024 20:01:25 GMT