assist: With --jobs, parallelize transferring content to/from remotes
Command.Add.seek starts concurrency with CommandStages. And for Command.Sync, it needs TransferStages. So, to get both types of concurrency for the two different parts, it either needs to change the type of concurrency in between, or just call startConcurrency once for each. It seems safe enough to call startConcurrency twice, because it does shut down concurrency (mostly) at the end, and eg the old Annex.workers get emptied. Sponsored-by: unqueued on Patreon
This commit is contained in:
parent
c2c2abe6ca
commit
3c1d18cb3b
4 changed files with 7 additions and 4 deletions
|
@ -6,6 +6,7 @@ git-annex (10.20230627) UNRELEASED; urgency=medium
|
|||
* reinject: Added --guesskeys option.
|
||||
* diffdriver: Added --text option for easy diffing of the contents of
|
||||
annexed text files.
|
||||
* assist: With --jobs, parallelize transferring content to/from remotes.
|
||||
|
||||
-- Joey Hess <id@joeyh.name> Mon, 26 Jun 2023 13:10:40 -0400
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ cmd = withAnnexOptions [jobsOption, backendOption] $
|
|||
(myseek <--< Command.Sync.optParser Command.Sync.AssistMode)
|
||||
|
||||
myseek :: Command.Sync.SyncOptions -> CommandSeek
|
||||
myseek o = startConcurrency transferStages $ do
|
||||
myseek o = do
|
||||
-- Changes to top of repository, so when this is run in a
|
||||
-- subdirectory, it will still default to adding files anywhere in
|
||||
-- the working tree.
|
||||
|
@ -35,7 +35,7 @@ myseek o = startConcurrency transferStages $ do
|
|||
, Command.Add.checkGitIgnoreOption = CheckGitIgnore True
|
||||
, Command.Add.dryRunOption = DryRun False
|
||||
}
|
||||
waitForAllRunningCommandActions
|
||||
finishCommandActions
|
||||
-- Flush added files to index so they will be committed.
|
||||
Annex.Queue.flush
|
||||
|
||||
|
|
|
@ -260,10 +260,10 @@ seek o = do
|
|||
|
||||
prepMerge
|
||||
|
||||
startConcurrency transferStages (seek' o)
|
||||
seek' o
|
||||
|
||||
seek' :: SyncOptions -> CommandSeek
|
||||
seek' o = do
|
||||
seek' o = startConcurrency transferStages $ do
|
||||
let withbranch a = a =<< getCurrentBranch
|
||||
|
||||
remotes <- syncRemotes (syncWith o)
|
||||
|
|
|
@ -32,3 +32,5 @@ local repository version: 10
|
|||
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
|
||||
|
||||
git-annex is **marvellous** and a game-changer for all my workflows 👍
|
||||
|
||||
> [[fixed|done]] --[[Joey]]
|
||||
|
|
Loading…
Reference in a new issue