mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-24 10:09:01 -06:00
Catalog paths may mix `/` and `\` on Windows, so raw string comparison saw `N:/photos/IMG.jpg` and `N:/photos\IMG.jpg` as different files: - Rename: planning, the move list, move_file_with and file_moves now compare as paths. A separator-only "rename" is a no-op: no file move, no catalog change and no undo entry, alone or batched with a genuine rename. Previously it attempted a plain rename onto the existing file, failed, and rolled back the rest of the batch. Case-only renames still work (#95). - Import: the already-in-library index is keyed by PathBuf. - Tests build expected paths with Path::join, and the CLI test escapes the device path with serde_json instead of string formatting. Split from a327b98 (T0 thumbnail work), with the follow-up rename fix that the committed version needed. Co-authored-by: Codex <noreply@openai.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>