mercurial/HGPackageModelRegistry.st
author vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
Thu, 15 Nov 2012 01:44:36 +0000
changeset 54 66045198bfbc
parent 46 d5a192b11a1a
child 69 17045d49309f
permissions -rw-r--r--
More changes towards self hosting. Some work on model is still missing...

"{ Package: 'stx:libscm/mercurial' }"

SCMAbstractPackageModelRegistry subclass:#HGPackageModelRegistry
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'SCM-Mercurial-StX'
!


!HGPackageModelRegistry methodsFor:'accessing'!

packageNamed:package
    "Returns a HGPackageModel for given package."

    | dir repo |

    packages at: package ifPresent: [ :pkg | ^ pkg ].
    wcs at: package ifPresent:[ :wc | ^ wc ].
    dir := Smalltalk getPackageDirectoryForPackage: package.
    dir := HGRepository discover: dir.
    dir isNil ifTrue:[
        HGError raiseErrorString: 'No repository found for package ',package.
        ^nil.
    ].
    repo := repositories at: dir ifAbsentPut: [ HGRepository on: dir ].
    ^packages at: package ifAbsentPut: [ HGPackageModel name: package repository: repo ].

    "Created: / 14-11-2012 / 00:15:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    "Modified: / 14-11-2012 / 23:21:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!HGPackageModelRegistry class methodsFor:'documentation'!

version_HG
    "Never, ever change this method. Ask JV or CG why"
    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
!

version_SVN
    ^ '$Id::                                                                                                                        $'
! !