Pass -a to cp even when it supports --reflink=auto, to preserve permissions.
Amoung other things, this makes unlocking a WORM backed file and then re-adding it without making any changes not add a new object, as the timestamp is preserved.
This commit is contained in:
parent
300d3cbdef
commit
e36808e167
2 changed files with 14 additions and 7 deletions
|
@ -1,6 +1,6 @@
|
||||||
{- git-annex file copying
|
{- git-annex file copying
|
||||||
-
|
-
|
||||||
- Copyright 2010 Joey Hess <joey@kitenet.net>
|
- Copyright 2010,2012 Joey Hess <joey@kitenet.net>
|
||||||
-
|
-
|
||||||
- Licensed under the GNU GPL version 3 or higher.
|
- Licensed under the GNU GPL version 3 or higher.
|
||||||
-}
|
-}
|
||||||
|
@ -16,10 +16,10 @@ copyFileExternal :: FilePath -> FilePath -> IO Bool
|
||||||
copyFileExternal src dest = do
|
copyFileExternal src dest = do
|
||||||
whenM (doesFileExist dest) $
|
whenM (doesFileExist dest) $
|
||||||
removeFile dest
|
removeFile dest
|
||||||
boolSystem "cp" [params, File src, File dest]
|
boolSystem "cp" $ params ++ [File src, File dest]
|
||||||
where
|
where
|
||||||
params
|
params = map snd $ filter fst
|
||||||
| SysConfig.cp_reflink_auto = Params "--reflink=auto"
|
[ (SysConfig.cp_reflink_auto, Param "--reflink=auto")
|
||||||
| SysConfig.cp_a = Params "-a"
|
, (SysConfig.cp_a, Param "-a")
|
||||||
| SysConfig.cp_p = Params "-p"
|
, (SysConfig.cp_p && not SysConfig.cp_a, Param "-p")
|
||||||
| otherwise = Params ""
|
]
|
||||||
|
|
7
debian/changelog
vendored
7
debian/changelog
vendored
|
@ -1,3 +1,10 @@
|
||||||
|
git-annex (3.20120512) UNRELEASED; urgency=low
|
||||||
|
|
||||||
|
* Pass -a to cp even when it supports --reflink=auto, to preserve
|
||||||
|
permissions.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@debian.org> Tue, 15 May 2012 14:17:49 -0400
|
||||||
|
|
||||||
git-annex (3.20120511) unstable; urgency=low
|
git-annex (3.20120511) unstable; urgency=low
|
||||||
|
|
||||||
* Rsync special remotes can be configured with shellescape=no
|
* Rsync special remotes can be configured with shellescape=no
|
||||||
|
|
Loading…
Reference in a new issue