Run freeze and thaw hooks on crippled filesystems
The user sets these hooks deliberately so they should always be run. For example this allows hooks to be used to manage file permissions on NTFS volumes in WSL1.
This commit is contained in:
parent
e05dd70544
commit
1d48153bb8
1 changed files with 7 additions and 7 deletions
|
@ -154,7 +154,7 @@ createWorkTreeDirectory dir = do
|
|||
- that happens with write permissions.
|
||||
-}
|
||||
freezeContent :: RawFilePath -> Annex ()
|
||||
freezeContent file = unlessM crippledFileSystem $
|
||||
freezeContent file =
|
||||
withShared $ \sr -> freezeContent' sr file
|
||||
|
||||
freezeContent' :: SharedRepository -> RawFilePath -> Annex ()
|
||||
|
@ -163,7 +163,7 @@ freezeContent' sr file = freezeContent'' sr file =<< getVersion
|
|||
freezeContent'' :: SharedRepository -> RawFilePath -> Maybe RepoVersion -> Annex ()
|
||||
freezeContent'' sr file rv = do
|
||||
fastDebug "Annex.Perms" ("freezing content " ++ fromRawFilePath file)
|
||||
go sr
|
||||
unlessM crippledFileSystem $ go sr
|
||||
freezeHook file
|
||||
where
|
||||
go GroupShared = if versionNeedsWritableContentFiles rv
|
||||
|
@ -253,7 +253,7 @@ thawContent' sr file = do
|
|||
- permissions. -}
|
||||
thawPerms :: Annex () -> Annex () -> Annex ()
|
||||
thawPerms a hook = ifM crippledFileSystem
|
||||
( void (tryNonAsync a)
|
||||
( hook >> void (tryNonAsync a)
|
||||
, hook >> a
|
||||
)
|
||||
|
||||
|
@ -263,9 +263,9 @@ thawPerms a hook = ifM crippledFileSystem
|
|||
- file.
|
||||
-}
|
||||
freezeContentDir :: RawFilePath -> Annex ()
|
||||
freezeContentDir file = unlessM crippledFileSystem $ do
|
||||
freezeContentDir file = do
|
||||
fastDebug "Annex.Perms" ("freezing content directory " ++ fromRawFilePath dir)
|
||||
withShared go
|
||||
unlessM crippledFileSystem $ withShared go
|
||||
freezeHook dir
|
||||
where
|
||||
dir = parentDir file
|
||||
|
@ -287,9 +287,9 @@ createContentDir dest = do
|
|||
unlessM (liftIO $ R.doesPathExist dir) $
|
||||
createAnnexDirectory dir
|
||||
-- might have already existed with restricted perms
|
||||
unlessM crippledFileSystem $ do
|
||||
do
|
||||
thawHook dir
|
||||
liftIO $ allowWrite dir
|
||||
unlessM crippledFileSystem $ liftIO $ allowWrite dir
|
||||
where
|
||||
dir = parentDir dest
|
||||
|
||||
|
|
Loading…
Reference in a new issue