summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Limit.hs18
-rw-r--r--Logs/Trust.hs2
-rw-r--r--debian/changelog3
3 files changed, 13 insertions, 10 deletions
diff --git a/Limit.hs b/Limit.hs
index 57d6ebf65..217f38739 100644
--- a/Limit.hs
+++ b/Limit.hs
@@ -85,20 +85,20 @@ addIn name = addLimit $ check $ if name == "." then inAnnex else inremote
- of copies. -}
addCopies :: String -> Annex ()
addCopies trust_num = addLimit . check $ readnum num
- where (num, mayCheckTrust) =
- case split ":" trust_num of
- [trust, num'] -> (num', checkTrust (readtrust trust))
- [num'] -> (num', const (return True))
- _ -> bad
- readnum = maybe bad id . readish
- readtrust = maybe bad id . readTrust
+ where
+ (num, mayCheckTrust) = case split ":" trust_num of
+ [trust, num'] -> (num', checkTrust (readtrust trust))
+ [num'] -> (num', const (return True))
+ _ -> bad
+ readnum = maybe bad id . readish
+ readtrust = maybe bad id . readTrust
check n = Backend.lookupFile >=> handle n
handle _ Nothing = return False
handle n (Just (key, _)) = do
us <- filterM mayCheckTrust =<< Remote.keyLocations key
return $ length us >= n
- checkTrust t u = (== t) <$> lookupTrust u -- == or >=
- bad = error "bad number or trust:number for --copies"
+ checkTrust t u = (== t) <$> lookupTrust u
+ bad = error "bad number or trust:number for --copies"
{- Adds a limit to skip files not using a specified key-value backend. -}
addInBackend :: String -> Annex ()
diff --git a/Logs/Trust.hs b/Logs/Trust.hs
index 161c9fb45..a929832a0 100644
--- a/Logs/Trust.hs
+++ b/Logs/Trust.hs
@@ -89,7 +89,7 @@ readTrust :: String -> Maybe TrustLevel
readTrust "trusted" = Just Trusted
readTrust "untrusted" = Just UnTrusted
readTrust "semitrusted" = Just SemiTrusted
-readTrust "dead" = Just DeadTrusted -- NEW CASE
+readTrust "dead" = Just DeadTrusted
readTrust _ = Nothing
{- The trust.log used to only list trusted repos, without a field for the
diff --git a/debian/changelog b/debian/changelog
index aeaec49c3..934a5e61f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -23,6 +23,9 @@ git-annex (3.20120826) UNRELEASED; urgency=low
files and reading from checksum commands.
* sync: Pushes the git-annex branch to remote/synced/git-annex, rather
than directly to remote/git-annex.
+ * Now supports matchig files that are present on a number of remotes
+ with a speficied trust level. Example: --copies=trusted:2
+ Thanks, Nicolas Pouillard
-- Joey Hess <joeyh@debian.org> Mon, 27 Aug 2012 13:27:39 -0400