April 25, 2006 Leave a comment
Every time daylight saving occur, there’s someone who posts about that DC++ re-hashes all files.
I’m sorry there hasn’t been a fix for this, but the fix isn’t trivial (atleast to those who have looked at code). If the fix would’ve been trivial, it would’ve been done. There’s one thing that you can do and you’ll never have to worry about it; Upgrade your drives’ file systems to NTFS. According to a current forum post (I’ll refrain from posting it, posts get purged after 2 weeks), there’s problems involved in upgrading the drive to NTFS. (I’ve never heard of them or experienced them.)
So, what to do if you really don’t want to upgrade? Well, ‘lordadmira’ has written a Perl script that fixes the symptoms. Note; It will not fix the actual problem (which is that the file system is FAT). I have not used the script, nor do I know how well it works, but I thought it’d be best to bring it into light. (I find the scripting solution very ugly.)
It works by reading in each line from HashIndex.xml and adding or subtracting 3600 from the timestamp field of files on the drives in question. It checks for HashIndex.xml and HashData.dat in the current directory. Checks for the presence of backup files and won’t overwrite them; it makes backups so the old xml’s can be restored. Checks to see if DC++ is running and won’t run if it is. Checks for valid command line arguments. Checks for sufficient free space to write the new file and make backups.