add GETAVAILABILITY to external special remote protocol

And some reworking of types, and added an annex-availability git config
setting.
This commit is contained in:
Joey Hess 2014-01-13 14:41:10 -04:00
parent 47d2ebd374
commit c20f31a1ad
22 changed files with 99 additions and 26 deletions

View file

@ -18,6 +18,7 @@ import qualified Git.Config
import Utility.DataUnits
import Config.Cost
import Types.Distribution
import Types.Availability
{- Main git-annex settings. Each setting corresponds to a git-config key
- such as annex.foo -}
@ -101,6 +102,7 @@ data RemoteGitConfig = RemoteGitConfig
, remoteAnnexTrustLevel :: Maybe String
, remoteAnnexStartCommand :: Maybe String
, remoteAnnexStopCommand :: Maybe String
, remoteAnnexAvailability :: Maybe Availability
{- These settings are specific to particular types of remotes
- including special remotes. -}
@ -130,6 +132,7 @@ extractRemoteGitConfig r remotename = RemoteGitConfig
, remoteAnnexTrustLevel = notempty $ getmaybe "trustlevel"
, remoteAnnexStartCommand = notempty $ getmaybe "start-command"
, remoteAnnexStopCommand = notempty $ getmaybe "stop-command"
, remoteAnnexAvailability = getmayberead "availability"
, remoteAnnexSshOptions = getoptions "ssh-options"
, remoteAnnexRsyncOptions = getoptions "rsync-options"