Skip to content

Comments

Handle modified files where the case of the filename changed on case-insensitive filesystems#6327

Merged
WithoutPants merged 3 commits intostashapp:developfrom
WithoutPants:issues/6326
Dec 2, 2025
Merged

Handle modified files where the case of the filename changed on case-insensitive filesystems#6327
WithoutPants merged 3 commits intostashapp:developfrom
WithoutPants:issues/6326

Conversation

@WithoutPants
Copy link
Collaborator

Adjusts the scanning process so that, if an existing file/folder isn't found for a given scanned file, it will test the path filesystem for case sensitivity. If it is not case sensitive (ie on a windows machine), then it will perform a second, case insensitive query. This means that on case insensitive paths, a file/folder that has been renamed with a differently cased (but otherwise equal) name will be treated as an existing file/folder, rather than a new one. The execution path for existing paths has been changed to also rename the file/folder basename/path to the new one if it has changed.

There is an overhead introduced with this change, but it is limited to running the case sensitivity checks for any new file/folder, and running a second file/folder query for new/renamed paths on case insensitive file systems.

Resolves #6326.
Related to #1426, as it re-solves that issue.

… found nothing

This limits the overhead to new paths, and adds an extra query for new paths to windows installs
@WithoutPants WithoutPants added this to the Version 0.30.0 milestone Nov 27, 2025
@WithoutPants WithoutPants added the bug Something isn't working label Nov 27, 2025
@WithoutPants WithoutPants merged commit 4017c42 into stashapp:develop Dec 2, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Windows] Modifying and renaming file with a different case causes duplicate file entry

1 participant