New annex.largefiles setting, which configures which files git annex add
and the assistant add to the annex.
I would have sort of liked to put this in .gitattributes, but it seems it does not support multi-word attribute values. Also, making this a single config setting makes it easy to only parse the expression once. A natural next step would be to make the assistant `git add` files that are not annex.largefiles. OTOH, I don't think `git annex add` should `git add` such files, because git-annex command line tools are not in the business of wrapping git command line tools.
This commit is contained in:
parent
dd6c3deccf
commit
67e817c6a1
8 changed files with 169 additions and 63 deletions
11
Limit.hs
11
Limit.hs
|
@ -204,10 +204,15 @@ addSmallerThan = addLimit . limitSize (<)
|
|||
limitSize :: (Maybe Integer -> Maybe Integer -> Bool) -> MkLimit
|
||||
limitSize vs s = case readSize dataUnits s of
|
||||
Nothing -> Left "bad size"
|
||||
Just sz -> Right $ const $ lookupFile >=> check sz
|
||||
Just sz -> Right $ go sz
|
||||
where
|
||||
check _ Nothing = return False
|
||||
check sz (Just (key, _)) = return $ keySize key `vs` Just sz
|
||||
go sz _ fi = lookupFile fi >>= check fi sz
|
||||
check _ sz (Just (key, _)) = return $ keySize key `vs` Just sz
|
||||
check fi sz Nothing = do
|
||||
filesize <- liftIO $ catchMaybeIO $
|
||||
fromIntegral . fileSize
|
||||
<$> getFileStatus (Annex.relFile fi)
|
||||
return $ filesize `vs` Just sz
|
||||
|
||||
addTimeLimit :: String -> Annex ()
|
||||
addTimeLimit s = do
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue