Duplicate directories can occur in the cache

RV 3.6.0

Case Sensitivity Issue

Under certain circumstances, RomVault can have duplicate directory references stored in the cache resulting in frequent "rescan needed" errors when trying to fix roms. This issue occurs in mixed OS setups when the source files are on a case sensitive filesystem and RomVault is running on Windows. A common scenario would be a Linux based NAS for hosting roms exported via a SMB share with case-sensitivity enabled. Note that even though case-sensitive SMB exports are enabled, Windows can still only access a single version of a directory of the same name. For example: "TestFolder" and "TESTFOLDER" could both be viewable in Windows Explorer, but navigating into each would actually only show you the contents of "TestFolder". This behavior appears to be contributing to this bug. Steps to reproduce: Setup an RV instance on Windows Add a ToSort that points to a case-sensitive filesystem Add a directory to that ToSort with a few files in it, for example "TestFolder" Scan the ToSort and notice the files are properly scanned Add another directory in the ToSort with the same name but different case, for example "TESTFOLDER" Scan the ToSort and notice the new directory is also scanned, but the contents are the same as the first directory in step 3, even if the files are different from the directory in step 5 Delete one of the directories on the case sensitive filesystem mimicking a user's attempt to resolve the case-sensitive conflict Rescan the ToSort and notice that both folders still remain, but are normalized to the case of the remaining name From this point, there is no way to clean the cache with RomVault, the user must completely rename the bad directory to something and rescan the contents Screenshots: Duplicate folders with different case Orphaned duplicate folders

1

Powered by Convas