work around git check-ignore --batch bad exit status bug, and bring back import -J
This commit is contained in:
parent
7938b87864
commit
53db9d0b5c
3 changed files with 10 additions and 3 deletions
|
@ -21,7 +21,7 @@ import Annex.CheckIgnore
|
|||
import Annex.NumCopies
|
||||
|
||||
cmd :: Command
|
||||
cmd = withGlobalOptions fileMatchingOptions $ notBareRepo $
|
||||
cmd = withGlobalOptions (jobsOption : fileMatchingOptions) $ notBareRepo $
|
||||
command "import" SectionCommon
|
||||
"move and add files from outside git working copy"
|
||||
paramPaths (seek <$$> optParser)
|
||||
|
@ -59,7 +59,7 @@ duplicateModeParser =
|
|||
)
|
||||
|
||||
seek :: ImportOptions -> CommandSeek
|
||||
seek o = do
|
||||
seek o = allowConcurrentOutput $ do
|
||||
repopath <- liftIO . absPath =<< fromRepo Git.repoPath
|
||||
inrepops <- liftIO $ filter (dirContains repopath) <$> mapM absPath (importFiles o)
|
||||
unless (null inrepops) $ do
|
||||
|
|
|
@ -57,8 +57,10 @@ supportedGitVersion = do
|
|||
v <- Git.Version.installed
|
||||
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 = CoProcess.stop
|
||||
checkIgnoreStop = void . tryIO . CoProcess.stop
|
||||
|
||||
{- Returns True if a file is ignored. -}
|
||||
checkIgnored :: CheckIgnoreHandle -> FilePath -> IO Bool
|
||||
|
|
|
@ -66,6 +66,11 @@ Several options can be used to adjust handling of duplicate files.
|
|||
|
||||
git annex import /dir --include='*.png'
|
||||
|
||||
* `--jobs=N` `-JN`
|
||||
|
||||
Imports multiple files in parallel. This may be faster.
|
||||
For example: `-J4`
|
||||
|
||||
# CAVEATS
|
||||
|
||||
Note that using `--deduplicate` or `--clean-duplicates` with the WORM
|
||||
|
|
Loading…
Reference in a new issue