diff options
author | Joey Hess <joeyh@joeyh.name> | 2015-04-10 17:08:07 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2015-04-10 17:08:07 -0400 |
commit | c7a5cc5cc31377e5fed1fc59bfdeb503784d060d (patch) | |
tree | 2acb62d5fef9a1b2a02cbc43fa8c81b7108c91f1 /Command | |
parent | b4dd6c2250efd959c2b0c0d032d9508ef55ea79a (diff) |
get, move, copy, mirror: Concurrent downloads and uploads are now supported!
This works, and seems fairly robust. Clean get of 20 files at -J3. At -J10,
there are some messages about ssh multiplexing, probably due to a race
spinning up the ssh connection cacher. But, it manages to get all the files
ok regardless.
The progress bars are a scrambled mess though, due to bugs in
ascii-progress, which I've already filed. Particularly this one:
https://github.com/yamadapc/haskell-ascii-progress/issues/8
Diffstat (limited to 'Command')
-rw-r--r-- | Command/Get.hs | 2 | ||||
-rw-r--r-- | Command/Mirror.hs | 2 | ||||
-rw-r--r-- | Command/Move.hs | 2 | ||||
-rw-r--r-- | Command/Sync.hs | 6 |
4 files changed, 6 insertions, 6 deletions
diff --git a/Command/Get.hs b/Command/Get.hs index 922aee06a..111c69e32 100644 --- a/Command/Get.hs +++ b/Command/Get.hs @@ -21,7 +21,7 @@ cmd = [withOptions getOptions $ command "get" paramPaths seek SectionCommon "make content of annexed files available"] getOptions :: [Option] -getOptions = fromOption : annexedMatchingOptions ++ keyOptions ++ [autoOption] +getOptions = fromOption : autoOption : jobsOption : annexedMatchingOptions ++ keyOptions seek :: CommandSeek seek ps = do diff --git a/Command/Mirror.hs b/Command/Mirror.hs index a04efb89b..6c3895be1 100644 --- a/Command/Mirror.hs +++ b/Command/Mirror.hs @@ -21,7 +21,7 @@ cmd = [withOptions mirrorOptions $ command "mirror" paramPaths seek SectionCommon "mirror content of files to/from another repository"] mirrorOptions :: [Option] -mirrorOptions = fromToOptions ++ annexedMatchingOptions ++ keyOptions +mirrorOptions = fromToOptions ++ [jobsOption] ++ annexedMatchingOptions ++ keyOptions seek :: CommandSeek seek ps = do diff --git a/Command/Move.hs b/Command/Move.hs index bdc8018ba..91f7c8ea7 100644 --- a/Command/Move.hs +++ b/Command/Move.hs @@ -22,7 +22,7 @@ cmd = [withOptions moveOptions $ command "move" paramPaths seek SectionCommon "move content of files to/from another repository"] moveOptions :: [Option] -moveOptions = fromToOptions ++ keyOptions ++ annexedMatchingOptions +moveOptions = fromToOptions ++ [jobsOption] ++ keyOptions ++ annexedMatchingOptions seek :: CommandSeek seek ps = do diff --git a/Command/Sync.hs b/Command/Sync.hs index 130693909..7c1ed0067 100644 --- a/Command/Sync.hs +++ b/Command/Sync.hs @@ -389,7 +389,7 @@ syncFile rs f k = do u <- getUUID let locs' = concat [[u | got], putrs, locs] - -- Using callCommandAction rather than commandAction for drops, + -- Using callCommandAction rather than includeCommandAction for drops, -- because a failure to drop does not mean the sync failed. handleDropsFrom locs' rs "unwanted" True k (Just f) Nothing callCommandAction @@ -403,7 +403,7 @@ syncFile rs f k = do ( return [ get have ] , return [] ) - get have = commandAction $ do + get have = includeCommandAction $ do showStart "get" f next $ next $ getViaTmp k $ \dest -> getKeyFile' k (Just f) dest have @@ -415,7 +415,7 @@ syncFile rs f k = do , return [] ) put dest = do - ok <- commandAction $ do + ok <- includeCommandAction $ do showStart "copy" f Command.Move.toStart' dest False (Just f) k return (ok, if ok then Just (Remote.uuid dest) else Nothing) |