Added annex.freezecontent-command and annex.thawcontent-command configs
Freeze first sets the file perms, and then runs freezecontent-command. Thaw runs thawcontent-command before restoring file permissions. This is in case the freeze command prevents changing file perms, as eg setting a file immutable does. Also, changing file perms tends to mess up previously set ACLs. git-annex init's probe for crippled filesystem uses them, so if file perms don't work, but freezecontent-command manages to prevent write to a file, it won't treat the filesystem as crippled. When the the filesystem has been probed as crippled, the hooks are not used, because there seems to be no point then; git-annex won't be relying on locking annex objects down. Also, this avoids them being run when the file perms have not been changed, in case they somehow rely on git-annex's setting of the file perms in order to work. Sponsored-by: Dartmouth College's Datalad project
This commit is contained in:
parent
ba62c3467b
commit
4b1b9d7a83
8 changed files with 88 additions and 31 deletions
|
@ -104,6 +104,8 @@ data GitConfig = GitConfig
|
|||
, annexFsckNudge :: Bool
|
||||
, annexAutoUpgrade :: AutoUpgrade
|
||||
, annexExpireUnused :: Maybe (Maybe Duration)
|
||||
, annexFreezeContentCommand :: Maybe String
|
||||
, annexThawContentCommand :: Maybe String
|
||||
, annexSecureEraseCommand :: Maybe String
|
||||
, annexGenMetaData :: Bool
|
||||
, annexListen :: Maybe String
|
||||
|
@ -191,6 +193,8 @@ extractGitConfig configsource r = GitConfig
|
|||
getmaybe (annexConfig "autoupgrade")
|
||||
, annexExpireUnused = either (const Nothing) Just . parseDuration
|
||||
<$> getmaybe (annexConfig "expireunused")
|
||||
, annexFreezeContentCommand = getmaybe (annexConfig "freezecontent-command")
|
||||
, annexThawContentCommand = getmaybe (annexConfig "thawcontent-command")
|
||||
, annexSecureEraseCommand = getmaybe (annexConfig "secure-erase-command")
|
||||
, annexGenMetaData = getbool (annexConfig "genmetadata") False
|
||||
, annexListen = getmaybe (annexConfig "listen")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue