mercurial/HGPackageModelRegistry.st
changeset 46 d5a192b11a1a
child 54 66045198bfbc
equal deleted inserted replaced
45:dfe5c7416a4e 46:d5a192b11a1a
       
     1 "{ Package: 'stx:libscm/mercurial' }"
       
     2 
       
     3 SCMAbstractPackageModelRegistry subclass:#HGPackageModelRegistry
       
     4 	instanceVariableNames:''
       
     5 	classVariableNames:''
       
     6 	poolDictionaries:''
       
     7 	category:'SCM-Mercurial-StX'
       
     8 !
       
     9 
       
    10 
       
    11 !HGPackageModelRegistry methodsFor:'accessing'!
       
    12 
       
    13 packageNamed:package
       
    14     "Returns a HGPackageModel for given package."
       
    15 
       
    16     | dir repo |
       
    17 
       
    18     packages at: package ifPresent: [ :pkg | ^ pkg ].
       
    19     wcs at: package ifPresent:[ :wc | ^ wc ].
       
    20     dir := Smalltalk getPackageDirectoryForPackage: package.
       
    21     dir := HGRepository discover: dir.
       
    22     dir isNil ifTrue:[
       
    23         GitError raiseErrorString: 'No repository found for package ',package.
       
    24         ^nil.
       
    25     ].
       
    26     repo := repositories at: dir ifAbsentPut: [ HGRepository on: dir ].
       
    27     ^packages at: package ifAbsentPut: [ HGPackageModel name: package repository: repo ].
       
    28 
       
    29     "Created: / 14-11-2012 / 00:15:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    30 ! !
       
    31 
       
    32 !HGPackageModelRegistry class methodsFor:'documentation'!
       
    33 
       
    34 version_SVN
       
    35     ^ '$Id::                                                                                                                        $'
       
    36 ! !