diff options
author | Joey Hess <joey@kitenet.net> | 2012-12-06 13:22:16 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-12-06 13:22:16 -0400 |
commit | 2a04e215e10469ee3bab5d1a5d6d76b0c35cc46c (patch) | |
tree | 41328caa30ae494316d20e1a5e5909b29aa94516 /Command/Copy.hs | |
parent | 53304252ca5483ce80f5a66bb74cc9f0732f65d7 (diff) |
--auto fixes
* get/copy --auto: Transfer data even if it would exceed numcopies,
when preferred content settings want it.
* drop --auto: Fix dropping content when there are no preferred content
settings.
Diffstat (limited to 'Command/Copy.hs')
-rw-r--r-- | Command/Copy.hs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Command/Copy.hs b/Command/Copy.hs index dd5599264..6967c2f93 100644 --- a/Command/Copy.hs +++ b/Command/Copy.hs @@ -26,10 +26,11 @@ seek = [withField Command.Move.toOption Remote.byName $ \to -> - However, --auto mode avoids unnecessary copies, and avoids getting or - sending non-preferred content. -} start :: Maybe Remote -> Maybe Remote -> FilePath -> (Key, Backend) -> CommandStart -start to from file (key, backend) = autoCopies file key (<) $ - stopUnless shouldCopy $ - Command.Move.start to from False file (key, backend) +start to from file (key, backend) = stopUnless shouldCopy $ + Command.Move.start to from False file (key, backend) where - shouldCopy = case to of - Nothing -> checkAuto $ wantGet (Just file) - Just r -> checkAuto $ wantSend (Just file) (Remote.uuid r) + shouldCopy = checkAuto (check <||> numCopiesCheck file key (<)) + check = case to of + Nothing -> wantGet False (Just file) + Just r -> wantSend False (Just file) (Remote.uuid r) + |