New annex.synccontent config setting
.. which can be set to true to make git annex sync default to --content. This may become the default at some point in the future. As well as being configuable by git config, it can be configured by git-annex config to control the default behavior in all clones of a repository. Had to add a separate --no-content switch to we can tell if it's been explicitly set, and should override annex.synccontent. If --content was the default, this complication would not be necessary. This commit was sponsored by Jake Vosloo on Patreon.
This commit is contained in:
parent
ed56dba868
commit
b77903af48
6 changed files with 53 additions and 18 deletions
|
@ -38,6 +38,7 @@ data Configurable a
|
|||
| DefaultConfig a
|
||||
-- ^ A default value is known, but not all config sources
|
||||
-- have been read yet.
|
||||
deriving (Show)
|
||||
|
||||
{- Main git-annex settings. Each setting corresponds to a git-config key
|
||||
- such as annex.foo -}
|
||||
|
@ -57,6 +58,7 @@ data GitConfig = GitConfig
|
|||
, annexHttpHeaders :: [String]
|
||||
, annexHttpHeadersCommand :: Maybe String
|
||||
, annexAutoCommit :: Configurable Bool
|
||||
, annexSyncContent :: Configurable Bool
|
||||
, annexDebug :: Bool
|
||||
, annexWebOptions :: [String]
|
||||
, annexQuviOptions :: [String]
|
||||
|
@ -105,6 +107,8 @@ extractGitConfig r = GitConfig
|
|||
, annexHttpHeadersCommand = getmaybe (annex "http-headers-command")
|
||||
, annexAutoCommit = configurable True $
|
||||
getmaybebool (annex "autocommit")
|
||||
, annexSyncContent = configurable False $
|
||||
getmaybebool (annex "synccontent")
|
||||
, annexDebug = getbool (annex "debug") False
|
||||
, annexWebOptions = getwords (annex "web-options")
|
||||
, annexQuviOptions = getwords (annex "quvi-options")
|
||||
|
@ -156,6 +160,7 @@ extractGitConfig r = GitConfig
|
|||
mergeGitConfig :: GitConfig -> GitConfig -> GitConfig
|
||||
mergeGitConfig gitconfig repoglobals = gitconfig
|
||||
{ annexAutoCommit = merge annexAutoCommit
|
||||
, annexSyncContent = merge annexSyncContent
|
||||
}
|
||||
where
|
||||
merge f = case f gitconfig of
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue