diff options
author | Joey Hess <joeyh@joeyh.name> | 2015-03-31 15:36:02 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2015-03-31 15:36:02 -0400 |
commit | bbdd35fffadc8c441278a229c5819b619471b46f (patch) | |
tree | aedf0710eb311f51f7125cc47fd47c2bf088572d /Command | |
parent | e312ef88c62270def28e815e7cec1f63268a358b (diff) |
import: --deduplicate and --cleanduplicates now output the keys corresponding to duplicated files they process.
Diffstat (limited to 'Command')
-rw-r--r-- | Command/Import.hs | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/Command/Import.hs b/Command/Import.hs index 025563b49..2da26a96b 100644 --- a/Command/Import.hs +++ b/Command/Import.hs @@ -15,6 +15,7 @@ import Utility.CopyFile import Backend import Remote import Types.KeySource +import Types.Key cmd :: [Command] cmd = [withOptions opts $ notBareRepo $ command "import" paramPaths seek @@ -72,8 +73,8 @@ start mode (srcfile, destfile) = , stop ) where - deletedup = do - showNote "duplicate" + deletedup k = do + showNote $ "duplicate of " ++ key2file k liftIO $ removeFile srcfile next $ return True importfile = do @@ -95,10 +96,12 @@ start mode (srcfile, destfile) = backend <- chooseBackend destfile let ks = KeySource srcfile srcfile Nothing v <- genKey ks backend - isdup <- case v of - Just (k, _) -> not . null <$> keyLocations k - _ -> return False - return $ if isdup then dupa else notdupa + case v of + Just (k, _) -> ifM (not . null <$> keyLocations k) + ( return (maybe Nothing (\a -> Just (a k)) dupa) + , return notdupa + ) + _ -> return notdupa pickaction = case mode of DeDuplicate -> checkdup (Just deletedup) (Just importfile) CleanDuplicates -> checkdup (Just deletedup) Nothing |