When directly using a volume / volume directory / volume file object as arguments to COPYPATH(), it seems to discard the absolute reference it is given, boils it down to a string path, and then tries to find the absolute reference again with the string. This is an issue when the file reference you give it is related to another vessel. Boiling it down to a volume id is ambiguous and I don't think the logic even considers other vessels.
The copypath logic appears to do this because VolumeManager::Copy doesn't accept objects itself. An overload could be made to accept the items directly so this serialization issue doesn't occur.
I suspect this is a related issue. I tried naming the volume like this user, but it didn't work due to it being on another vessel.
I guess I'll just have to copy everything manually with Kerboscript. Huge hit to instruction count.
When directly using a volume / volume directory / volume file object as arguments to COPYPATH(), it seems to discard the absolute reference it is given, boils it down to a string path, and then tries to find the absolute reference again with the string. This is an issue when the file reference you give it is related to another vessel. Boiling it down to a volume id is ambiguous and I don't think the logic even considers other vessels.
The copypath logic appears to do this because VolumeManager::Copy doesn't accept objects itself. An overload could be made to accept the items directly so this serialization issue doesn't occur.
I suspect this is a related issue. I tried naming the volume like this user, but it didn't work due to it being on another vessel.
I guess I'll just have to copy everything manually with Kerboscript. Huge hit to instruction count.