|
Class: GitSourceCodeManager
Object
|
+--AbstractSourceCodeManager
|
+--GitSourceCodeManager
- Package:
- stx:libbasic3
- Category:
- System-SourceCodeManagement
- Version:
- rev:
1.20
date: 2021/01/20 15:28:20
- user: cg
- file: GitSourceCodeManager.st directory: libbasic3
- module: stx stc-classLibrary: libbasic3
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 Git.
ongoing work - unfinished and unusable
Comment:
The code here is a copy-paste mess; it definitely needs some cleanup...
copyrightCOPYRIGHT (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.
accessing
-
executeGitCommand: cmd inDirectory: dir
-
-
executeGitCommand: cmd outputTo: outStreamOrNil errorTo: errStreamOrNil inDirectory: dir
-
-
gitBinDirectory: ignoredString
-
ignored - for backward compatibility (to read old settings files)
-
gitCommandTimeout
-
360
-
gitCommandTimeout: aTimeDuration
-
-
gitCommitOptions
-
-
gitCommitOptions: aString
-
-
gitExecutable
-
return the name of the git executable.
-
gitExecutable: aString
-
set the name of the git executable.
-
gitTmpDirectory
-
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.
-
gitTmpDirectory: 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.
-
gitUpdateOptions
-
-
gitUpdateOptions: aString
-
-
knownModules
-
return the modules, we currently know
-
knownRepositories
-
return the modules, we currently know
-
repositoryForPackage: packageId
-
superclass AbstractSourceCodeManager class says that I am responsible to implement this method
-
repositoryInfoPerModule
-
return the dictionary, which associates gitRepositories to module names.
If no entry is contained in this dictionary for some module,
the default crepository will be used.
-
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.
-
repositoryName
-
return the name of the global repository.
This is used, if no per-module repository is defined.
-
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.
-
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.
-
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.
-
repositoryNameForPackage: packageId
-
(comment from inherited method)
Return the repository URL for the given package.
Used for testing/debugging source code management configuration
-
workDirectory
-
-
workDirectory: aPath
-
basic access
-
checkinClass: aClassOrNil fileName: classFileName directory: packageDir module: moduleDir source: sourceFileOrNil logMessage: logMessage force: force
-
checkin of a class into the source repository.
Return true if ok, false if not.
basic administration
-
addFile: fileName inDirectory: dirPath
-
-
checkForExistingContainer: fileName inModule: moduleName directory: packageDirName
-
check for a container to exist. Return a boolean result.
-
checkForExistingModule: moduleName
-
check for a module to be present
-
checkForExistingModule: moduleName directory: packageDir
-
check for a package directory to be present
-
checkin: containerFilename text: someText directory: packageDir module: moduleDir logMessage: logMessage force: force onBranch: branchNameOrNil
-
(comment from inherited method)
enter some (source) code (which is someText)
into the source repository. If the force argument is true, no merge is done;
instead, the code is checked in as given (Dangerous).
Return true if ok, false if not.
-
commitRepository: repositoryDirectory logMessage: logMessage
-
-
createContainerFor: aClass inModule: moduleName directory: dirName container: fileName
-
create a new container & check into it an initial version of aClass
-
createModule: moduleName
-
create a new module directory
-
createModule: moduleName directory: directory
-
create a new package directory
-
initialRevisionStringFor: aClass inModule: moduleDir directory: packageDir container: fileName
-
return a string usable as initial revision string
-
updateRepository: repositoryDirectory
-
debugging
-
verboseSourceCodeAccess
-
-
verboseSourceCodeAccess: aBoolean
-
initialization
-
forgetDisabledModules
-
-
gitCommandSemaphore
-
at most 10 git activities concurrently
-
initialize
-
GitCommandSemaphore := (Semaphore new:10) name:'Concurrent GIT Commands'. "/ at most 10 git activities concurrently
Usage example(s):
AbstractSourceCodeManager initialize
GitSourceCodeManager initialize
|
-
initializeForRepository: aDirectoryName
-
reinitialize.
Can be used from the launcher to change/configure the repository.
-
initializeRepository
-
queries
-
isContainerBased
-
(comment from inherited method)
true, if the SCM uses some kind of source container (,v files).
False, if it is like a database or filesystem.
-
isExperimental
-
-
isResponsibleForPackage: aString
-
(comment from inherited method)
Returns true if the manager can handle source code for given package.
Answering true does not imply that receiver is configured default
manager for that package, it only means that it has a repository
configured for given package.
-
managerTypeName
-
(comment from inherited method)
Answers version manager name suitable for UI,
i,e., CVS, SubVersion, Perforce
-
nameOfVersionMethodForExtensions
-
(comment from inherited method)
that is the old name; now, we use extensionsVersion_<SCM>
-
nameOfVersionMethodInClasses
-
(comment from inherited method)
that is the old name; now, we use version_<SCM>
-
settingsApplicationClass
-
link to my settings application (needed for the settings dialog
saving
-
savePreferencesOn: aStream
-
source code administration
-
revisionInfoFromString: aString
-
return a VersionInfo object filled with revision info.
This extracts the relevant info from aString.
Usage example(s):
self revisionInfoFromString:'Path: stx/libbasic/Array.st, Version: 123, User: cg, Time: 2011-12-21T21:03:08.826'
|
testing
-
isGit
-
|