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.
This commit is contained in:
Joey Hess 2015-03-27 18:49:03 -04:00
parent e980c56f7f
commit f0195b2a43
4 changed files with 9 additions and 3 deletions

View file

@ -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

View file

@ -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 _) =

3
debian/changelog vendored
View file

@ -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 <id@joeyh.name> Fri, 27 Mar 2015 16:04:43 -0400

View file

@ -33,3 +33,5 @@ DATALAD_LOGLEVEL=1 DATALAD_LOGTARGET=stderr tools/testing/make_test_repo archive
# End of transcript or log.
"""]]
> [[fixed|done]] --[[Joey]]