diff options
author | Joey Hess <joey@kitenet.net> | 2011-06-22 23:24:14 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-06-22 23:24:14 -0400 |
commit | aad73c5721490a5679820ab9c16a8b462fa0e0f2 (patch) | |
tree | 3156a0debf9a707f4e928811b0aa151d2c4d0e13 /LocationLog.hs | |
parent | 68783fd5e0e23ce698f2c2c2e2bd28c54cadf9c5 (diff) |
rewrite loggedkeys to use git-annex branch
That sucking sound is a whole page of code vanishing to be replaced with
return . catMaybes . map (logFileKey . takeFileName) =<< Branch.files
What can I say, git is my database, and haskell my copilot.
Diffstat (limited to 'LocationLog.hs')
-rw-r--r-- | LocationLog.hs | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/LocationLog.hs b/LocationLog.hs index 8dbeb729c..4e2caca95 100644 --- a/LocationLog.hs +++ b/LocationLog.hs @@ -26,7 +26,6 @@ module LocationLog ( import Data.Time.Clock.POSIX import Data.Time import System.Locale -import System.Directory import System.FilePath import qualified Data.Map as Map import Control.Monad (when) @@ -35,7 +34,6 @@ import Control.Monad.State (liftIO) import qualified GitRepo as Git import qualified Branch -import Utility import UUID import Types import Locations @@ -148,19 +146,6 @@ mapLog m l = {- Finds all keys that have location log information. - (There may be duplicate keys in the list.) -} -loggedKeys :: Git.Repo -> Annex [Key] -loggedKeys repo = do - _ <- error "FIXME.. does not look in git-annex branch yet" - exists <- liftIO $ doesDirectoryExist dir - if exists - then do - -- 2 levels of hashing - levela <- liftIO $ dirContents dir - levelb <- mapM tryDirContents levela - files <- mapM tryDirContents (concat levelb) - return $ catMaybes $ - map (logFileKey . takeFileName) (concat files) - else return [] - where - tryDirContents d = liftIO $ catch (dirContents d) (return . const []) - dir = gitStateDir repo +loggedKeys :: Annex [Key] +loggedKeys = + return . catMaybes . map (logFileKey . takeFileName) =<< Branch.files |