proxied exporttree=yes versionedexport=yes remotes are not untrusted
This removes versionedExport, which was only used by the S3 special remote. Instead, versionedexport=yes is a common way for remotes to indicate that they are versioned.
This commit is contained in:
parent
5c36177e58
commit
3ea835c7e8
16 changed files with 23 additions and 53 deletions
|
@ -91,7 +91,6 @@ gen r u rc gc rs = do
|
|||
{ storeExport = storeExportM serial adir
|
||||
, retrieveExport = retrieveExportM serial adir
|
||||
, removeExport = removeExportM serial adir
|
||||
, versionedExport = False
|
||||
, checkPresentExport = checkPresentExportM serial adir
|
||||
, removeExportDirectory = Just $ removeExportDirectoryM serial adir
|
||||
, renameExport = Just $ renameExportM serial adir
|
||||
|
|
|
@ -107,7 +107,6 @@ gen r u rc gc rs = do
|
|||
{ storeExport = storeExportM dir cow
|
||||
, retrieveExport = retrieveExportM dir cow
|
||||
, removeExport = removeExportM dir
|
||||
, versionedExport = False
|
||||
, checkPresentExport = checkPresentExportM dir
|
||||
-- Not needed because removeExportLocation
|
||||
-- auto-removes empty directories.
|
||||
|
|
|
@ -95,7 +95,6 @@ gen rt externalprogram r u rc gc rs
|
|||
{ storeExport = storeExportM external
|
||||
, retrieveExport = retrieveExportM external
|
||||
, removeExport = removeExportM external
|
||||
, versionedExport = False
|
||||
, checkPresentExport = checkPresentExportM external
|
||||
, removeExportDirectory = Just $ removeExportDirectoryM external
|
||||
, renameExport = Just $ renameExportM external
|
||||
|
|
|
@ -84,6 +84,7 @@ remote = RemoteType
|
|||
, configParser = mkRemoteConfigParser
|
||||
[ optionalStringParser locationField
|
||||
(FieldDesc "url of git remote to remember with special remote")
|
||||
, yesNoParser versioningField (Just False) HiddenField
|
||||
]
|
||||
, setup = gitSetup
|
||||
, exportSupported = exportUnsupported
|
||||
|
@ -230,7 +231,7 @@ gen r u rc gc rs
|
|||
, readonly = Git.repoIsHttp r && not (isP2PHttp' gc)
|
||||
, appendonly = False
|
||||
, untrustworthy = isJust (remoteAnnexProxiedBy gc)
|
||||
&& exportTree c
|
||||
&& exportTree c && not (isVersioning c)
|
||||
, availability = repoAvail r
|
||||
, remotetype = remote
|
||||
, mkUnavailable = unavailable r u rc gc rs
|
||||
|
|
|
@ -42,7 +42,6 @@ instance HasExportUnsupported (ExportActions Annex) where
|
|||
, retrieveExport = nope
|
||||
, checkPresentExport = \_ _ -> return False
|
||||
, removeExport = nope
|
||||
, versionedExport = False
|
||||
, removeExportDirectory = nope
|
||||
, renameExport = Nothing
|
||||
}
|
||||
|
@ -137,7 +136,6 @@ adjustExportImport' :: Bool -> Bool -> Bool -> Remote -> RemoteStateHandle -> Gi
|
|||
adjustExportImport' isexport isimport annexobjects r rs gc = do
|
||||
dbv <- prepdbv
|
||||
ciddbv <- prepciddb
|
||||
let versioned = versionedExport (exportActions r)
|
||||
return $ r
|
||||
{ exportActions = if isexport
|
||||
then if isimport
|
||||
|
@ -249,6 +247,8 @@ adjustExportImport' isexport isimport annexobjects r rs gc = do
|
|||
else is'
|
||||
}
|
||||
where
|
||||
versioned = isVersioning (config r)
|
||||
|
||||
thirdpartypopulated = thirdPartyPopulated (remotetype r)
|
||||
|
||||
-- exportActions adjusted to use the equivalent import actions,
|
||||
|
@ -457,12 +457,12 @@ adjustExportImport' isexport isimport annexobjects r rs gc = do
|
|||
_ -> throwM err
|
||||
| otherwise = a
|
||||
|
||||
-- versionedExport remotes have a key/value store which
|
||||
-- versioned remotes have a key/value store which
|
||||
-- the usual retrieveKeyFile can be used with, rather than
|
||||
-- an import/export variant. However, fall back to that
|
||||
-- if retrieveKeyFile fails.
|
||||
supportversionedretrieve k af dest p vc a
|
||||
| versionedExport (exportActions r) =
|
||||
| versioned =
|
||||
retrieveKeyFile r k af dest p vc
|
||||
`catchNonAsync` const a
|
||||
| otherwise = a
|
||||
|
|
|
@ -79,7 +79,6 @@ gen r u rc gc rs = do
|
|||
{ storeExport = cannotModify
|
||||
, retrieveExport = retriveExportHttpAlso url
|
||||
, removeExport = cannotModify
|
||||
, versionedExport = False
|
||||
, checkPresentExport = checkPresentExportHttpAlso url
|
||||
, removeExportDirectory = Nothing
|
||||
, renameExport = cannotModify
|
||||
|
|
|
@ -103,7 +103,6 @@ gen r u rc gc rs = do
|
|||
{ storeExport = storeExportM o
|
||||
, retrieveExport = retrieveExportM o
|
||||
, removeExport = removeExportM o
|
||||
, versionedExport = False
|
||||
, checkPresentExport = checkPresentExportM o
|
||||
, removeExportDirectory = Just (removeExportDirectoryM o)
|
||||
, renameExport = Just $ renameExportM o
|
||||
|
|
|
@ -143,10 +143,7 @@ storageclassField = Accepted "storageclass"
|
|||
|
||||
fileprefixField :: RemoteConfigField
|
||||
fileprefixField = Accepted "fileprefix"
|
||||
|
||||
versioningField :: RemoteConfigField
|
||||
versioningField = Accepted "versioning"
|
||||
|
||||
|
||||
publicField :: RemoteConfigField
|
||||
publicField = Accepted "public"
|
||||
|
||||
|
@ -224,7 +221,6 @@ gen r u rc gc rs = do
|
|||
{ storeExport = storeExportS3 hdl this rs info magic
|
||||
, retrieveExport = retrieveExportS3 hdl this info
|
||||
, removeExport = removeExportS3 hdl this rs info
|
||||
, versionedExport = versioning info
|
||||
, checkPresentExport = checkPresentExportS3 hdl this info
|
||||
-- S3 does not have directories.
|
||||
, removeExportDirectory = Nothing
|
||||
|
|
|
@ -101,7 +101,6 @@ gen r u rc gc rs = do
|
|||
, retrieveExport = retrieveExportDav hdl
|
||||
, checkPresentExport = checkPresentExportDav hdl this
|
||||
, removeExport = removeExportDav hdl
|
||||
, versionedExport = False
|
||||
, removeExportDirectory = Just $
|
||||
removeExportDirectoryDav hdl
|
||||
, renameExport = Just $ renameExportDav hdl
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue