diff options
Diffstat (limited to 'LocationLog.hs')
-rw-r--r-- | LocationLog.hs | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/LocationLog.hs b/LocationLog.hs deleted file mode 100644 index 5cbdbb28a..000000000 --- a/LocationLog.hs +++ /dev/null @@ -1,58 +0,0 @@ -{- git-annex location log - - - - git-annex keeps track of which repositories have the contents of annexed - - files. - - - - Repositories record their UUID and the date when they --get or --drop - - a value. - - - - Copyright 2010-2011 Joey Hess <joey@kitenet.net> - - - - Licensed under the GNU GPL version 3 or higher. - -} - -module LocationLog ( - LogStatus(..), - logChange, - readLog, - keyLocations, - loggedKeys, - logFile, - logFileKey -) where - -import Common.Annex -import qualified Git -import qualified Annex.Branch -import UUID -import PresenceLog - -{- Log a change in the presence of a key's value in a repository. -} -logChange :: Git.Repo -> Key -> UUID -> LogStatus -> Annex () -logChange repo key u s - | null u = error $ - "unknown UUID for " ++ Git.repoDescribe repo ++ - " (have you run git annex init there?)" - | otherwise = addLog (logFile key) =<< logNow s u - -{- Returns a list of repository UUIDs that, according to the log, have - - the value of a key. -} -keyLocations :: Key -> Annex [UUID] -keyLocations = currentLog . logFile - -{- Finds all keys that have location log information. - - (There may be duplicate keys in the list.) -} -loggedKeys :: Annex [Key] -loggedKeys = mapMaybe (logFileKey . takeFileName) <$> Annex.Branch.files - -{- The filename of the log file for a given key. -} -logFile :: Key -> String -logFile key = hashDirLower key ++ keyFile key ++ ".log" - -{- Converts a log filename into a key. -} -logFileKey :: FilePath -> Maybe Key -logFileKey file - | end == ".log" = fileKey beginning - | otherwise = Nothing - where - (beginning, end) = splitAt (length file - 4) file |