crippled filesystem support, probing and initial support

git annex init probes for crippled filesystems, and sets direct mode, as
well as `annex.crippledfilesystem`.

Avoid manipulating permissions of files on crippled filesystems.
That would likely cause an exception to be thrown.

Very basic support in Command.Add for cripped filesystems; avoids the lock
down entirely since doing it needs both permissions and hard links.
Will make this better soon.
This commit is contained in:
Joey Hess 2013-02-14 14:10:36 -04:00
parent 35b7b1a406
commit 47477b2807
15 changed files with 122 additions and 52 deletions

View file

@ -35,6 +35,7 @@ data GitConfig = GitConfig
, annexHttpHeadersCommand :: Maybe String
, annexAutoCommit :: Bool
, annexWebOptions :: [String]
, annexCrippledFileSystem :: Bool
}
extractGitConfig :: Git.Repo -> GitConfig
@ -55,6 +56,7 @@ extractGitConfig r = GitConfig
, annexHttpHeadersCommand = getmaybe "http-headers-command"
, annexAutoCommit = getbool "autocommit" True
, annexWebOptions = getwords "web-options"
, annexCrippledFileSystem = getbool "crippledfilesystem" False
}
where
get k def = fromMaybe def $ getmayberead k

View file

@ -12,9 +12,12 @@ module Types.KeySource where
-
- The contentLocation may be different from the filename
- associated with the key. For example, the add command
- temporarily puts the content into a lockdown directory
- may temporarily hard link the content into a lockdown directory
- for checking. The migrate command uses the content
- of a different Key. -}
- of a different Key.
-
-
-}
data KeySource = KeySource
{ keyFilename :: FilePath
, contentLocation :: FilePath