diff options
author | 2017-08-15 12:39:10 -0400 | |
---|---|---|
committer | 2017-08-15 12:39:10 -0400 | |
commit | 802cecdf36f2575b62c42b105019ea70f3e8aef8 (patch) | |
tree | 6f251c57d645bbcbd758632f87858eec06611920 /Command/Copy.hs | |
parent | cb91d1539e4f7d935c5106dbf54a7d58b5f297d6 (diff) |
move, copy: Support --batch.
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 |