mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-30 13:07:43 -06:00
Copy import used exists() then std::fs::copy: no sync, no comparison, and a file appearing at the chosen name in between was replaced. It now goes through import_move::copy_new, which reuses Move's copy_verified: a new file (create_new, retrying -1, -2… on AlreadyExists), synced and compared byte for byte with the source; a copy that fails or differs is removed and reported as a failed import. Copy as DNG's copy step uses the same path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>