added: #loadPackageWithId:fromRepositoryAsAutoloaded:
authorfm
Tue, 20 Oct 2009 11:47:39 +0200
changeset 539 ad1dec5566e1
parent 538 fea688a8c2b8
child 540 3e0ea3ba33b5
added: #loadPackageWithId:fromRepositoryAsAutoloaded:
SVNSourceCodeManager.st
--- a/SVNSourceCodeManager.st	Tue Oct 20 11:34:59 2009 +0200
+++ b/SVNSourceCodeManager.st	Tue Oct 20 11:47:39 2009 +0200
@@ -38,6 +38,45 @@
     ^ #'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