Added check for author signature before commit.
If author is not specified when commiting, an HGCommitError is raise.
Commit dialog checks in advance and shows warning.
"{ Package: 'stx:libscm/mercurial' }"
LibraryDefinition subclass:#stx_libscm_mercurial
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'* Projects & Packages *'
!
!stx_libscm_mercurial class methodsFor:'description'!
excludedFromPreRequisites
"list all packages which should be ignored in the automatic
preRequisites scan. See #preRequisites for more."
^ #(
)
!
preRequisites
"list all required packages.
This list can be maintained manually or (better) generated and
updated by scanning the superclass hierarchies and looking for
global variable accesses. (the browser has a menu function for that)
Howevery, often too much is found, and you may want to explicitely
exclude individual packages in the #excludedFromPrerequisites method."
^ #(
#'stx:goodies/sunit' "TestAsserter - superclass of HGTests "
#'stx:libbasic' "ByteArray - superclass of HGNodeId "
#'stx:libbasic2' "Singleton - superclass of HGStatus::Added "
#'stx:libbasic3' "AbstractSourceCodeManager - superclass of HGSourceCodeManager "
#'stx:libscm/common' "SCMAbstractTask - superclass of HGCommitTask "
#'stx:libtool' "AbstractSourceCodeManagementSettingsAppl - superclass of HGSourceCodeManagementSettingsAppl "
#'stx:libview' "ImageMask - referenced by HGIconLibrary class>>hgLogo2 "
#'stx:libview2' "Model - superclass of HGSourceCodeManagementSettingsAppl "
)
! !
!stx_libscm_mercurial class methodsFor:'description - contents'!
classNamesAndAttributes
"lists the classes which are to be included in the project.
Each entry in the list may be: a single class-name (symbol),
or an array-literal consisting of class name and attributes.
Attributes are: #autoload or #<os> where os is one of win32, unix,..."
^ #(
"<className> or (<className> attributes...) in load order"
HGCommand
HGCommandParser
(HGRepositoriesResource autoload)
HGRepository
HGRepositoryObject
(HGTestCase autoload)
(HGTests autoload)
HGWorkingCopyFile
#'stx_libscm_mercurial'
HGBranch
HGWorkingCopy
HGChangesetId
HGStatus
HGError
HGRepositoryError
HGCommandError
(HGCommandParserTests autoload)
HGChangeset
HGPackageModel
HGCommitDialog
HGIconLibrary
HGPackageModelRegistry
HGSourceCodeManagementSettingsAppl
HGSourceCodeManager
HGAuthorQuery
HGCommandParseError
HGCommitTask
HGChangesetFile
(HGStXTests autoload)
HGRevisionInfo
HGRevisionAnnotation
HGNoSuchBranchError
HGChange
HGConfig
HGCommitError
)
!
extensionMethodNames
"lists the extension methods which are to be included in the project.
Entries are 2-element array literals, consisting of class-name and selector."
^ #(
ByteArray asHGChangesetId
Integer asHGChangesetId
Object asHGChangesetId
String asHGChangesetId
UserPreferences hgCommand
UserPreferences hgCommand:
Object asHGRevision
'Annotation class' HGRevision:
'ProjectDefinition class' hgBinaryRevision
'ProjectDefinition class' hgLogicalRevision
'ProjectDefinition class' hgPostLoad
)
"Modified: / 27-11-2012 / 22:12:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!stx_libscm_mercurial class methodsFor:'description - project information'!
applicationIconFileName
"Return the name (without suffix) of an icon-file (the app's icon); will be included in the rc-resource file"
^ nil
"/ ^ self applicationName
!
companyName
"Return a companyname which will appear in <lib>.rc"
^ 'Jan Vrany'
"Modified: / 23-11-2012 / 20:27:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
description
"Return a description string which will appear in vc.def / bc.def"
^ 'Mercurial integration for Smalltalk/X'
"Modified: / 23-11-2012 / 20:27:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
legalCopyright
"Return a copyright string which will appear in <lib>.rc"
^ 'Copyright Jan Vrany 2012'
"Modified: / 23-11-2012 / 20:27:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
productInstallDirBaseName
"Returns a default installDir which will appear in <app>.nsi.
This is usually not the one you want to keep"
^ (self package asCollectionOfSubstringsSeparatedByAny:':/') last
!
productName
"Return a product name which will appear in <lib>.rc"
^ 'Smalltalk/X Mercurial Integration'
"Modified: / 23-11-2012 / 20:28:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!stx_libscm_mercurial class methodsFor:'description - svn'!
svnRepositoryUrlString
"Return a SVN repository URL of myself.
(Generated since 2011-04-08)
Do not make the string shorter!!!!!! We have to use fixed-length keyword!!!!!!
"
^ '$URL:: $'
!
svnRevisionNr
"Return a SVN revision number of myself.
This number is updated after a commit"
^ "$SVN-Revision:"'nil '"$"
! !
!stx_libscm_mercurial class methodsFor:'documentation'!
version_HG
^ '$Changeset: <not expanded> $'
!
version_SVN
^ '§Id:: §'
! !