]> gitweb @ CieloNegro.org - Rakka.git/blobdiff - Rakka/Storage/Impl.hs
Many improvements
[Rakka.git] / Rakka / Storage / Impl.hs
index c3246929257076dc45ab8ce541d7551a232a1550..44df20de578b6c5741da70f2faa47b495a017f68 100644 (file)
@@ -14,8 +14,11 @@ import qualified Data.Set as S
 import           Network.URI
 import           Rakka.Page
 import           Rakka.Storage.DefaultPage
+import           Rakka.Storage.Repos
 import           Rakka.Storage.Types
 import           Subversion.Types
+import           Subversion.FileSystem
+import           Subversion.Repository
 import           System.Directory
 import           System.FilePath
 import           System.IO
@@ -23,8 +26,6 @@ import           System.Log.Logger
 import           System.Posix.Files
 import           System.Posix.Types
 import           System.Posix.IO
-import           Subversion.FileSystem
-import           Subversion.Repository
 import           Text.HyperEstraier hiding (WriteLock)
 
 
@@ -33,20 +34,23 @@ logger = "Rakka.Storage"
 
 
 getPage' :: Repository -> PageName -> Maybe RevNum -> IO (Maybe Page)
-getPage' _repos name _rev
-    = loadDefaultPage name -- FIXME
+getPage' repos name rev
+    = do page <- loadPageInRepository repos name rev
+         case page of
+           Nothing -> loadDefaultPage name
+           p       -> return p
 
 
 findAllPages :: Repository -> RevNum -> IO (Set PageName)
 findAllPages _     0   = findAllDefaultPages
-findAllPages _repos _rev
+findAllPages repos rev
     = findAllDefaultPages -- FIXME
 
 
 findChangedPages :: Repository -> RevNum -> RevNum -> IO (Set PageName)
 findChangedPages repos 0      newRev = findAllPages repos newRev
-findChangedPages _repos _oldRev _newRev
-    = fail "FIXME: not impl"
+findChangedPages repos oldRev newRev
+    = findAllPages repos newRev -- FIXME
 
 
 getCurrentRevNum :: Repository -> IO RevNum