Merge this if you dare to fix #178. This alters the way paths are written into checksum manifests and transfer manifests. Previously, we'd just find the index of the rightmost / in the bundle URL and assume that we could then strip that many characters off the beginning of all file refs associated with that bundle.
This wasn't the case for urn:nasa:pds:cassini_uvis_solarocc_beckerjarmak2023::1.0, though. It had file refs that were in different parent paths altogether. In fact, 96 of the file refs shared the path as the bundle.xml, but 86 were in different parents.
Now, we find the prefix not based on the index of the rightmost / but by scanning all file refs and looking for the largest common prefix amongst them—stripping those out before writing the manifests.
⚙️ Test Data and/or Report
Well, the built-in hooks confirmed everything's up-to-snuff, but to be extra explicit:
🗒️ Summary
Merge this if you dare to fix #178. This alters the way paths are written into checksum manifests and transfer manifests. Previously, we'd just find the index of the rightmost
/
in the bundle URL and assume that we could then strip that many characters off the beginning of all file refs associated with that bundle.This wasn't the case for
urn:nasa:pds:cassini_uvis_solarocc_beckerjarmak2023::1.0
, though. It had file refs that were in different parent paths altogether. In fact, 96 of the file refs shared the path as thebundle.xml
, but 86 were in different parents.Now, we find the prefix not based on the index of the rightmost
/
but by scanning all file refs and looking for the largest common prefix amongst them—stripping those out before writing the manifests.⚙️ Test Data and/or Report
Well, the built-in hooks confirmed everything's up-to-snuff, but to be extra explicit:
♻️ Related Issues
178