diff options
author | Joey Hess <joey@kitenet.net> | 2014-08-26 17:06:43 -0700 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-08-26 17:10:25 -0700 |
commit | f04fc3ca095f2372c9bb43ef5b884ed112d34eff (patch) | |
tree | 71b7b1ea09f7f1d7bf964544c1c04eb7259abf15 /Build | |
parent | 7924eb9422a949bbca80d7abc516eba0d9467f14 (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 'Build')
-rw-r--r-- | Build/Configure.hs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Build/Configure.hs b/Build/Configure.hs index d5176bdf5..31b7ccd25 100644 --- a/Build/Configure.hs +++ b/Build/Configure.hs @@ -23,6 +23,7 @@ tests = , TestCase "git version" getGitVersion , testCp "cp_a" "-a" , testCp "cp_p" "-p" + , testCp "cp_preserve_timestamps" "--preserve=timestamps" , testCp "cp_reflink_auto" "--reflink=auto" , TestCase "xargs -0" $ requireCmd "xargs_0" "xargs -0 </dev/null" , TestCase "rsync" $ requireCmd "rsync" "rsync --version >/dev/null" |