From f0195b2a438372c3334958e6ba7b6abe302199e1 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 27 Mar 2015 18:49:03 -0400 Subject: [PATCH] Fix GETURLS in external special remote protocol to strip downloader prefix from logged url info before checking for the specified prefix. This doesn't change what GETURLS returns, but only whether it matches any prefix that the external special remote asked for. --- Logs/Web.hs | 4 +++- Remote/External.hs | 3 +-- debian/changelog | 3 +++ ...ETURLS_doesn__39__t_return_URLs_if_prefix_is_provided.mdwn | 2 ++ 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Logs/Web.hs b/Logs/Web.hs index b2935f1a0b..ed2f575bd1 100644 --- a/Logs/Web.hs +++ b/Logs/Web.hs @@ -50,7 +50,9 @@ getUrls key = do else return us getUrlsWithPrefix :: Key -> String -> Annex [URLString] -getUrlsWithPrefix key prefix = filter (prefix `isPrefixOf`) <$> getUrls key +getUrlsWithPrefix key prefix = filter (prefix `isPrefixOf`) + . map (fst . getDownloader) + <$> getUrls key setUrlPresent :: UUID -> Key -> URLString -> Annex () setUrlPresent uuid key url = do diff --git a/Remote/External.hs b/Remote/External.hs index 7dd1736e45..39531998de 100644 --- a/Remote/External.hs +++ b/Remote/External.hs @@ -228,8 +228,7 @@ handleRequest' lck external req mp responsehandler handleRemoteRequest (SETURIMISSING key uri) = withurl (SETURLMISSING key) uri handleRemoteRequest (GETURLS key prefix) = do - mapM_ (send . VALUE . fst . getDownloader) - =<< getUrlsWithPrefix key prefix + mapM_ (send . VALUE) =<< getUrlsWithPrefix key prefix send (VALUE "") -- end of list handleRemoteRequest (DEBUG msg) = liftIO $ debugM "external" msg handleRemoteRequest (VERSION _) = diff --git a/debian/changelog b/debian/changelog index 098d865c26..e9d2558c12 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,9 @@ git-annex (5.20150328) UNRELEASED; urgency=medium * Prevent git-ls-files from double-expanding wildcards when an unexpanded wildcard is passed to a git-annex command like add or find. * Fix make build target. Thanks, Justin Geibel. + * Fix GETURLS in external special remote protocol to strip + downloader prefix from logged url info before checking for the + specified prefix. -- Joey Hess Fri, 27 Mar 2015 16:04:43 -0400 diff --git a/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided.mdwn b/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided.mdwn index f626498156..fe1bc1611d 100644 --- a/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided.mdwn +++ b/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided.mdwn @@ -33,3 +33,5 @@ DATALAD_LOGLEVEL=1 DATALAD_LOGTARGET=stderr tools/testing/make_test_repo archive # End of transcript or log. """]] + +> [[fixed|done]] --[[Joey]]