mercurial/HGPackageModelRegistry.st
changeset 270 fefcd7551c36
parent 218 8d975bd9fe4f
child 296 f7824c40a07e
--- a/mercurial/HGPackageModelRegistry.st	Mon Mar 18 23:18:12 2013 +0000
+++ b/mercurial/HGPackageModelRegistry.st	Tue Mar 19 08:59:59 2013 +0000
@@ -36,7 +36,7 @@
 
 !HGPackageModelRegistry methodsFor:'accessing'!
 
-packageNamed:package
+packageNamed0:package
     "Returns a HGPackageModel for given package or nil
      if given package is not backed by Mercurial repository."
 
@@ -104,8 +104,33 @@
 
     ^pkg
 
+    "Created: / 18-03-2013 / 22:26:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+packageNamed:package
+    "Returns a HGPackageModel for given package or nil
+     if given package is not backed by Mercurial repository."
+
+    | pkg idx |
+
+    pkg := self packageNamed0: package.
+    pkg notNil ifTrue:[ ^ pkg ].
+    idx := package lastIndexOf: $/.
+    idx == 0 ifTrue:[
+        idx := package lastIndexOf: $:.
+    ].
+    idx ~~ 0 ifTrue:[
+        pkg := self packageNamed0: (package copyTo: idx - 1).
+        pkg notNil ifTrue:[
+            pkg := pkg construct: (package copyFrom: idx + 1).
+            packages at: pkg name put: pkg.        
+            ^pkg.
+        ]
+    ].
+    ^nil.
+
     "Created: / 14-11-2012 / 00:15:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 03-12-2012 / 14:27:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 18-03-2013 / 22:41:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !HGPackageModelRegistry methodsFor:'initialization'!