avoid clean filter trying to annex a pointer file
This commit is contained in:
parent
751120c171
commit
ba39f993f5
1 changed files with 13 additions and 12 deletions
|
@ -54,22 +54,23 @@ smudge file = do
|
|||
=<< catchMaybeIO (B.readFile content)
|
||||
stop
|
||||
|
||||
-- Clean filter decides if a file should be stored in the annex, and
|
||||
-- outputs a pointer to its injested content.
|
||||
-- Clean filter is fed file content on stdin, decides if a file
|
||||
-- should be stored in the annex, and outputs a pointer to its
|
||||
-- injested content.
|
||||
clean :: FilePath -> CommandStart
|
||||
clean file = do
|
||||
ifM (shouldAnnex file)
|
||||
( do
|
||||
k <- ingest file
|
||||
updateAssociatedFiles k file
|
||||
liftIO $ emitPointer k
|
||||
, liftIO cat
|
||||
)
|
||||
b <- liftIO $ B.hGetContents stdin
|
||||
if isJust (parseLinkOrPointer b)
|
||||
then liftIO $ B.hPut stdout b
|
||||
else ifM (shouldAnnex file)
|
||||
( do
|
||||
k <- ingest file
|
||||
updateAssociatedFiles k file
|
||||
liftIO $ emitPointer k
|
||||
, liftIO $ B.hPut stdout b
|
||||
)
|
||||
stop
|
||||
|
||||
cat :: IO ()
|
||||
cat = B.hGetContents stdin >>= B.hPut stdout
|
||||
|
||||
shouldAnnex :: FilePath -> Annex Bool
|
||||
shouldAnnex file = do
|
||||
matcher <- largeFilesMatcher
|
||||
|
|
Loading…
Reference in a new issue