aboutsummaryrefslogtreecommitdiff
path: root/Command
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2017-02-07 17:35:51 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2017-02-07 17:41:58 -0400
commitbed8555eb19c0107dca023c2048c3f401ac05610 (patch)
treea9ef3afe916f81fe9799b199c228dbc7909935b6 /Command
parent5a9e454ee8617e20edd468d8567c427cc0921c69 (diff)
import: Changed how --deduplicate, --skip-duplicates, and --clean-duplicates determine if a file is a duplicate
Before, only content known to be present somewhere was considered a duplicate. Now, any content that has been annexed before will be considered a duplicate, even if all annexed copies of the data have been lost. Note that --clean-duplicates and --deduplicate still check numcopies, so won't delete duplicate files unless there's an annexed copy. This makes import use the same method as reinject --known. The man page already said that duplicate meant "its content is either present in the local repository already, or git-annex knows of another repository that contains it, or it was present in the annex before but has been removed now". So, this is really only bringing the implementation into line with the man page. This commit was sponsored by Jochen Bartl on Patreon.
Diffstat (limited to 'Command')
-rw-r--r--Command/Import.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/Command/Import.hs b/Command/Import.hs
index a16349ad2..4b675475d 100644
--- a/Command/Import.hs
+++ b/Command/Import.hs
@@ -18,6 +18,7 @@ import Types.KeySource
import Annex.CheckIgnore
import Annex.NumCopies
import Annex.FileMatcher
+import Logs.Location
cmd :: Command
cmd = withGlobalOptions (jobsOption : jsonOption : fileMatchingOptions) $ notBareRepo $
@@ -136,7 +137,7 @@ start largematcher mode (srcfile, destfile) =
let ks = KeySource srcfile srcfile Nothing
v <- genKey ks backend
case v of
- Just (k, _) -> ifM (not . null <$> keyLocations k)
+ Just (k, _) -> ifM (isKnownKey k)
( return (maybe Nothing (\a -> Just (a k)) dupa)
, return notdupa
)