dead: A command which says that a repository is gone for good and you don't want git-annex to mention it again.
This commit is contained in:
parent
7b08584c55
commit
251c01d51e
8 changed files with 40 additions and 15 deletions
|
@ -27,6 +27,7 @@ module Logs.Location (
|
|||
import Common.Annex
|
||||
import qualified Annex.Branch
|
||||
import Logs.Presence
|
||||
import Logs.Trust
|
||||
|
||||
{- Log a change in the presence of a key's value in a repository. -}
|
||||
logChange :: Key -> UUID -> LogStatus -> Annex ()
|
||||
|
@ -34,9 +35,14 @@ logChange key (UUID u) s = addLog (logFile key) =<< logNow s u
|
|||
logChange _ NoUUID _ = return ()
|
||||
|
||||
{- Returns a list of repository UUIDs that, according to the log, have
|
||||
- the value of a key. -}
|
||||
- the value of a key.
|
||||
-
|
||||
- Dead repositories are skipped.
|
||||
-}
|
||||
keyLocations :: Key -> Annex [UUID]
|
||||
keyLocations key = map toUUID <$> (currentLog . logFile) key
|
||||
keyLocations key = do
|
||||
l <- map toUUID <$> (currentLog . logFile) key
|
||||
snd <$> trustPartition DeadTrusted l
|
||||
|
||||
{- Finds all keys that have location log information.
|
||||
- (There may be duplicate keys in the list.) -}
|
||||
|
|
|
@ -67,12 +67,14 @@ parseTrust s
|
|||
w = words s
|
||||
parse "1" = Trusted
|
||||
parse "0" = UnTrusted
|
||||
parse "X" = DeadTrusted
|
||||
parse _ = SemiTrusted
|
||||
|
||||
showTrust :: TrustLevel -> String
|
||||
showTrust SemiTrusted = "?"
|
||||
showTrust UnTrusted = "0"
|
||||
showTrust Trusted = "1"
|
||||
showTrust UnTrusted = "0"
|
||||
showTrust DeadTrusted = "X"
|
||||
showTrust SemiTrusted = "?"
|
||||
|
||||
{- Changes the trust level for a uuid in the trustLog. -}
|
||||
trustSet :: UUID -> TrustLevel -> Annex ()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue