rethought distributed fsck; instead add activity.log and expire command
This is much more space efficient!
This commit is contained in:
parent
1d57f142f1
commit
9445556c97
12 changed files with 239 additions and 144 deletions
37
Logs/Activity.hs
Normal file
37
Logs/Activity.hs
Normal file
|
@ -0,0 +1,37 @@
|
|||
{- git-annex activity log
|
||||
-
|
||||
- Copyright 2015 Joey Hess <id@joeyh.name>
|
||||
-
|
||||
- Licensed under the GNU GPL version 3 or higher.
|
||||
-}
|
||||
|
||||
module Logs.Activity (
|
||||
Log,
|
||||
Activity(..),
|
||||
recordActivity,
|
||||
lastActivities,
|
||||
) where
|
||||
|
||||
import Data.Time.Clock.POSIX
|
||||
|
||||
import Common.Annex
|
||||
import qualified Annex.Branch
|
||||
import Logs
|
||||
import Logs.UUIDBased
|
||||
|
||||
data Activity = Fsck
|
||||
deriving (Eq, Read, Show, Enum, Bounded)
|
||||
|
||||
recordActivity :: Activity -> UUID -> Annex ()
|
||||
recordActivity act uuid = do
|
||||
ts <- liftIO getPOSIXTime
|
||||
Annex.Branch.change activityLog $
|
||||
showLog id . changeLog ts uuid (show act) . parseLog readish
|
||||
|
||||
lastActivities :: Maybe Activity -> Annex (Log Activity)
|
||||
lastActivities wantact = parseLog onlywanted <$> Annex.Branch.get activityLog
|
||||
where
|
||||
onlywanted s = case readish s of
|
||||
Just a | wanted a -> Just a
|
||||
_ -> Nothing
|
||||
wanted a = maybe True (a ==) wantact
|
Loading…
Add table
Add a link
Reference in a new issue