This commit is contained in:
Joey Hess 2022-09-20 12:56:16 -04:00
parent 612d2a8056
commit 3adf1f24e2
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38

View file

@ -0,0 +1,24 @@
[[!comment format=mdwn
username="joey"
subject="""comment 6"""
date="2022-09-20T16:42:18Z"
content="""
Ah, here's the smoking gun: In Remote.Helper.ExportImport,
it gets the cids for a key. And promptly picks the first one to pass to
retrieveExportWithContentIdentifier, ignoring all the rest.
It also gets the first recorded export location and likewise passes it to
retrieveExportWithContentIdentifier.
It seems like a fix would be to try retrieveExportWithContentIdentifier
with each combination of cid and export location. But that would cause an
`O(N^2)` explosion and it's possible a remote has say 1000 empty files in
it.
Maybe instead make retrieveExportWithContentIdentifier take a list of valid
cids, and accept any one of them? Then it would only need to be tried on
each export location in turn until one succeeds.
(Hm, removeExportWithContentIdentifier and
checkPresentExportWithContentIdentifier already use a list, so similar problems
are avoided with them.)
"""]]