summaryrefslogtreecommitdiff
path: root/Command/Import.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-08-26 17:06:43 -0700
committerGravatar Joey Hess <joey@kitenet.net>2014-08-26 17:10:25 -0700
commitf04fc3ca095f2372c9bb43ef5b884ed112d34eff (patch)
tree71b7b1ea09f7f1d7bf964544c1c04eb7259abf15 /Command/Import.hs
parent7924eb9422a949bbca80d7abc516eba0d9467f14 (diff)
Do not preserve permissions and acls when copying files from one local git repository to another. Timestamps are still preserved as long as cp --preserve=timestamps is supported.
This avoids cp -a overriding the default mode acls that the user might have set in a git repository. With GNU cp, this behavior change should not be a breaking change, because git-anex also uses rsync sometimes in the same situation, and has only ever preserved timestamps when using rsync. Systems without GNU cp will no longer use cp -a, but instead just cp. So, timestamps will no longer be preserved. Preserving timestamps when copying between repos is not guaranteed anyway. Closes: #729757
Diffstat (limited to 'Command/Import.hs')
-rw-r--r--Command/Import.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/Command/Import.hs b/Command/Import.hs
index db3601a1b..97e3f7652 100644
--- a/Command/Import.hs
+++ b/Command/Import.hs
@@ -90,7 +90,7 @@ start mode (srcfile, destfile) =
handleexisting =<< liftIO (catchMaybeIO $ getSymbolicLinkStatus destfile)
liftIO $ createDirectoryIfMissing True (parentDir destfile)
liftIO $ if mode == Duplicate || mode == SkipDuplicates
- then void $ copyFileExternal srcfile destfile
+ then void $ copyFileExternal CopyAllMetaData srcfile destfile
else moveFile srcfile destfile
Command.Add.perform destfile
handleexisting Nothing = noop