diff options
author | Joey Hess <joeyh@joeyh.name> | 2017-10-16 14:10:03 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2017-10-16 14:10:20 -0400 |
commit | 95697161487c5df3d8a88cdccbc40fd0c4d7b094 (patch) | |
tree | 7fb5769ee098ddafb445e587f550a22c4f1f49c9 /Command/Sync.hs | |
parent | fb899e75cf1ac84f3fd61ea39288811bacddee2c (diff) |
Avoid repeated checking that files passed on the command line exist.
git annex add, git annex lock etc make multiple seek passes,
and each seek pass checked that files existed. That was unncessary
redundant work.
Fixed by adding a new WorkTreeItem type, make seek actions use it,
and check that the files exist when constructing it.
This commit was supported by the NSF-funded DataLad project.
Diffstat (limited to 'Command/Sync.hs')
-rw-r--r-- | Command/Sync.hs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Command/Sync.hs b/Command/Sync.hs index 4c3b90969..1bd8e623c 100644 --- a/Command/Sync.hs +++ b/Command/Sync.hs @@ -576,7 +576,10 @@ seekSyncContent o rs = do mvar <- liftIO newEmptyMVar bloom <- case keyOptions o of Just WantAllKeys -> Just <$> genBloomFilter (seekworktree mvar []) - _ -> seekworktree mvar (contentOfOption o) (const noop) >> pure Nothing + _ -> do + l <- workTreeItems (contentOfOption o) + seekworktree mvar l (const noop) + pure Nothing withKeyOptions' (keyOptions o) False (return (seekkeys mvar bloom)) (const noop) |