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:
johnsanc
2 years ago
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