Multiple tree paths to the same file can occur when a directory rule maps to a location within the RomRoot

Open

Logic Issue

RomVault's directory rule feature allows you to map DATs to different directories. Typically this is used for mapping certain collections to different drive letters, however a user can technically choose any directory they want. If a directory is chosen that resides somewhere within the RomRoot, then multiple tree paths can be associated with the same file if the RomRoot is ever rescanned. Steps to reproduce: Start with a fresh RomVault instance Place one or more DATs in your DatRoot each in their own folder Set the directory rule of a DAT to point to a directory location that resides within the RomRoot, this directory should be a unique name that is not shared by any other DATs Place a rom that would match the DAT in your ToSort Scan the rom in your ToSort Find fixes and fix ROMs - the file should be moved to the proper location referencing the DAT rule path Scan the RomRoot Notice the path referenced in your directory rule is scanned and the rom shows as a cyan status Find fixes and notice that RV wants to delete one of the ROMs. Fix ROMs and notice a double check delete error will occur and indicate that multiple tree paths are referencing the same ROM. Expected behavior: RomVault should "reroute" any scanning results to the appropriate DAT rule path by following all directory rules RomVault should perform a check of all directory rules to reasonably ensure there are no rules that result in a nesting scenario (Note that not all scenarios will be detectable, for example mapping one location to a mapped X:\ drive and another to the equivalent UNC path) (screenshots: 1, 2, 3, 4, 5)

0

Powered by Convas