aboutsummaryrefslogtreecommitdiff
path: root/Logs/Trust
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-09-05 13:44:09 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-09-05 13:44:09 -0400
commit6cade5c9d59566314fe63d30f648dde1abe33a32 (patch)
tree17e5a54a64dad37d128873b4748b35474b2a46b0 /Logs/Trust
parent95c95a78f1d9cf00b7d706691cbee40ba4f21cf8 (diff)
New annex.hardlink setting. Closes: #758593
* New annex.hardlink setting. Closes: #758593 * init: Automatically detect when a repository was cloned with --shared, and set annex.hardlink=true, as well as marking the repository as untrusted. Had to reorganize Logs.Trust a bit to avoid a cycle between it and Annex.Init.
Diffstat (limited to 'Logs/Trust')
-rw-r--r--Logs/Trust/Basic.hs32
1 files changed, 32 insertions, 0 deletions
diff --git a/Logs/Trust/Basic.hs b/Logs/Trust/Basic.hs
new file mode 100644
index 000000000..646e2e037
--- /dev/null
+++ b/Logs/Trust/Basic.hs
@@ -0,0 +1,32 @@
+{- git-annex trust log, basics
+ -
+ - Copyright 2010-2012 Joey Hess <joey@kitenet.net>
+ -
+ - Licensed under the GNU GPL version 3 or higher.
+ -}
+
+module Logs.Trust.Basic (
+ module X,
+ trustSet,
+) where
+
+import Data.Time.Clock.POSIX
+
+import Common.Annex
+import Types.TrustLevel
+import qualified Annex.Branch
+import qualified Annex
+import Logs
+import Logs.UUIDBased
+import Logs.Trust.Pure as X
+
+{- Changes the trust level for a uuid in the trustLog. -}
+trustSet :: UUID -> TrustLevel -> Annex ()
+trustSet uuid@(UUID _) level = do
+ ts <- liftIO getPOSIXTime
+ Annex.Branch.change trustLog $
+ showLog showTrustLog .
+ changeLog ts uuid level .
+ parseLog (Just . parseTrustLog)
+ Annex.changeState $ \s -> s { Annex.trustmap = Nothing }
+trustSet NoUUID _ = error "unknown UUID; cannot modify"