SVNSourceCodeManager.st
author fm
Tue, 20 Oct 2009 11:47:39 +0200
changeset 539 ad1dec5566e1
parent 482 cd24ab77ae56
child 540 3e0ea3ba33b5
permissions -rw-r--r--
added: #loadPackageWithId:fromRepositoryAsAutoloaded:

"{ Package: 'stx:libsvn' }"

AbstractSourceCodeManager subclass:#SVNSourceCodeManager
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'System-SourceCodeManagement'
!

!SVNSourceCodeManager class methodsFor:'documentation'!

documentation
"
    For now, this is a dummy SourceCodeManager.
    It is only provided to deliver the correct versionMethodNameTemplates
    and versionMethod names.

    Might get more in the future.
"
! !

!SVNSourceCodeManager class methodsFor:'queries'!

isExperimental
    ^ OperatingSystem getLoginName ~= 'cg'.
    ^ true
!

managerTypeName
    ^ 'SVN'
!

nameOfVersionMethodForExtensions
    ^ #'extensionsVersion_SVN'
!

nameOfVersionMethodInClasses
    ^ #'version_SVN'
! !

!SVNSourceCodeManager class methodsFor:'source code access'!

loadPackageWithId: aPackageId fromRepositoryAsAutoloaded: doLoadAsAutoloaded

    | retval loadBlock manager |

    manager := SVN::RepositoryManager current.

    loadBlock := [
        | repo packageDir |
        repo := manager repositoryForPackage: aPackageId.
        retval := (repo notNil and:[repo exists]) ifTrue:[
            repo workingCopy checkout.
            packageDir := Smalltalk packageDirectoryForPackageId:aPackageId.
            Smalltalk
                loadPackageWithId:aPackageId
                fromDirectory:packageDir
                asAutoloaded:doLoadAsAutoloaded
        ] ifFalse:[false]
    ].

    (Query query == true)
        ifTrue:[loadBlock value]
        ifFalse:[
            Query 
                answer: true 
                do:[
                    SVN::ProgressDialog
                        openOn: loadBlock
                        title: ' Loading...'
                        subtitle: aPackageId asText allItalic
                ]
    ].

    ^retval

    "Created: / 09-04-2009 / 17:20:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !

!SVNSourceCodeManager class methodsFor:'testing'!

isSVN
    ^ true
! !

!SVNSourceCodeManager class methodsFor:'documentation'!

version
    ^ '$Header$'
!

version_CVS
    ^ '$Header$'
! !