work around git check-ignore --batch bad exit status bug, and bring back import -J

This commit is contained in:
Joey Hess 2015-11-06 15:39:51 -04:00
parent 7938b87864
commit 53db9d0b5c
Failed to extract signature
3 changed files with 10 additions and 3 deletions

View file

@ -21,7 +21,7 @@ import Annex.CheckIgnore
import Annex.NumCopies import Annex.NumCopies
cmd :: Command cmd :: Command
cmd = withGlobalOptions fileMatchingOptions $ notBareRepo $ cmd = withGlobalOptions (jobsOption : fileMatchingOptions) $ notBareRepo $
command "import" SectionCommon command "import" SectionCommon
"move and add files from outside git working copy" "move and add files from outside git working copy"
paramPaths (seek <$$> optParser) paramPaths (seek <$$> optParser)
@ -59,7 +59,7 @@ duplicateModeParser =
) )
seek :: ImportOptions -> CommandSeek seek :: ImportOptions -> CommandSeek
seek o = do seek o = allowConcurrentOutput $ do
repopath <- liftIO . absPath =<< fromRepo Git.repoPath repopath <- liftIO . absPath =<< fromRepo Git.repoPath
inrepops <- liftIO $ filter (dirContains repopath) <$> mapM absPath (importFiles o) inrepops <- liftIO $ filter (dirContains repopath) <$> mapM absPath (importFiles o)
unless (null inrepops) $ do unless (null inrepops) $ do

View file

@ -57,8 +57,10 @@ supportedGitVersion = do
v <- Git.Version.installed v <- Git.Version.installed
return $ v >= Git.Version.normalize "1.8.4" return $ v >= Git.Version.normalize "1.8.4"
{- For some reason, check-ignore --batch always exits nonzero,
- so ignore any error. -}
checkIgnoreStop :: CheckIgnoreHandle -> IO () checkIgnoreStop :: CheckIgnoreHandle -> IO ()
checkIgnoreStop = CoProcess.stop checkIgnoreStop = void . tryIO . CoProcess.stop
{- Returns True if a file is ignored. -} {- Returns True if a file is ignored. -}
checkIgnored :: CheckIgnoreHandle -> FilePath -> IO Bool checkIgnored :: CheckIgnoreHandle -> FilePath -> IO Bool

View file

@ -66,6 +66,11 @@ Several options can be used to adjust handling of duplicate files.
git annex import /dir --include='*.png' git annex import /dir --include='*.png'
* `--jobs=N` `-JN`
Imports multiple files in parallel. This may be faster.
For example: `-J4`
# CAVEATS # CAVEATS
Note that using `--deduplicate` or `--clean-duplicates` with the WORM Note that using `--deduplicate` or `--clean-duplicates` with the WORM