summaryrefslogtreecommitdiff
path: root/Command
diff options
context:
space:
mode:
Diffstat (limited to 'Command')
-rw-r--r--Command/Add.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/Command/Add.hs b/Command/Add.hs
index 95af72a6f..be7c6e75e 100644
--- a/Command/Add.hs
+++ b/Command/Add.hs
@@ -30,6 +30,7 @@ import Utility.FileMode
import Config
import Utility.InodeCache
import Annex.FileMatcher
+import Annex.ReplaceFile
def :: [Command]
def = [notBareRepo $ command "add" paramPaths seek SectionCommon
@@ -155,6 +156,11 @@ finishIngestDirect key source = do
when (contentLocation source /= keyFilename source) $
liftIO $ nukeFile $ contentLocation source
+ {- Copy to any other locations using the same key. -}
+ otherfs <- filter (/= keyFilename source) <$> associatedFiles key
+ forM_ otherfs $
+ addContentWhenNotPresent key (keyFilename source)
+
perform :: FilePath -> CommandPerform
perform file =
maybe stop (\key -> next $ cleanup file key True)