From 5844a5486992b124f424580e604914e3fe1444dc Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 14 Sep 2020 18:37:49 -0400 Subject: [PATCH] aws-0.22 improved its support for setting etags, which improves support for versioned S3 buckets. Remove placeholder version number I used when implementing the feature in aws. This commit was sponsored by Ethan Aubin. --- CHANGELOG | 7 +++++++ Remote/S3.hs | 10 ++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index c1d329dd10..fed1ac5d62 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,10 @@ +git-annex (8.20200909) UNRELEASED; urgency=medium + + * aws-0.22 improved its support for setting etags, which improves + support for versioned S3 buckets. + + -- Joey Hess Mon, 14 Sep 2020 18:34:37 -0400 + git-annex (8.20200908) upstream; urgency=medium * Added httpalso special remote, which is useful for accessing diff --git a/Remote/S3.hs b/Remote/S3.hs index 99f8b41d84..960fa7fa50 100644 --- a/Remote/S3.hs +++ b/Remote/S3.hs @@ -347,10 +347,7 @@ storeHelper info h magic f object p = liftIO $ case partSize info of resp <- sendS3Handle h req vid <- mkS3VersionID object <$> extractFromResourceT (S3.porVersionId resp) - -- FIXME Actual aws version that supports this is not known, - -- patch not merged yet. - -- https://github.com/aristidb/aws/issues/258 -#if MIN_VERSION_aws(0,99,0) +#if MIN_VERSION_aws(0,22,0) etag <- extractFromResourceT (Just (S3.porETag resp)) return (etag, vid) #else @@ -685,10 +682,7 @@ rewritePreconditionException a = catchJust (Url.matchStatusCodeException want) a storeExportWithContentIdentifierS3 :: S3HandleVar -> Remote -> RemoteStateHandle -> S3Info -> Maybe Magic -> FilePath -> Key -> ExportLocation -> [ContentIdentifier] -> MeterUpdate -> Annex ContentIdentifier storeExportWithContentIdentifierS3 hv r rs info magic src k loc _overwritablecids p | versioning info = go - -- FIXME Actual aws version that supports getting Etag for a store - -- is not known; patch not merged yet. - -- https://github.com/aristidb/aws/issues/258 -#if MIN_VERSION_aws(0,99,0) +#if MIN_VERSION_aws(0,22,0) | otherwise = go #else | otherwise = giveup "git-annex is built with too old a version of the aws library to support this operation"