diff options
Diffstat (limited to 'Command/Copy.hs')
-rw-r--r-- | Command/Copy.hs | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/Command/Copy.hs b/Command/Copy.hs index 667f940f0..f071bf2dd 100644 --- a/Command/Copy.hs +++ b/Command/Copy.hs @@ -35,11 +35,15 @@ instance DeferredParseClass CopyOptions where <*> pure (autoMode v) seek :: CopyOptions -> CommandSeek -seek o = allowConcurrentOutput $ - withKeyOptions (Command.Move.keyOptions $ moveOptions o) (autoMode o) - (Command.Move.startKey (moveOptions o) False) - (withFilesInGit $ whenAnnexed $ start o) - (Command.Move.moveFiles $ moveOptions o) +seek o = allowConcurrentOutput $ do + let go = whenAnnexed $ start o + case Command.Move.batchOption (moveOptions o) of + Batch -> batchInput Right (batchCommandAction . go) + NoBatch -> withKeyOptions + (Command.Move.keyOptions $ moveOptions o) (autoMode o) + (Command.Move.startKey (moveOptions o) False) + (withFilesInGit go) + (Command.Move.moveFiles $ moveOptions o) {- A copy is just a move that does not delete the source file. - However, auto mode avoids unnecessary copies, and avoids getting or |