Alex Pankratov :
Nov 03, 2013
1. Fixed handling of certain types of write errors -- When copying smaller files or when the delta copying was off, if bvckup *could* open destination file for writing, but could *not* actually write into it, it was leaking an internal write buffer. This leak was detected upon completing the copying and it triggered internal consistency check. As a result the program showed "Something went wrong" message and shut itself down.
2. File timestamp resolution is now determined via testing -- This is in relation how bvckup compares timestamps of the original file and its backup copy. If files are being backed up, say, from NTFS to FAT, then the timestamp resolution at source is 100 ns (nanoseconds) for both "created" and "modified" timestamps, but it is 10 ms and 2 seconds respectively over at FAT location. It is imperative to correctly determine the resolution, so not to mis-detect files as change (or, worse yet, unchanged).
There is no explicit way to query file system resolution on Windows, so that leads to two alternatives - deduce it based on the file system type OR determine it by testing (setting and reading timestamps on a temporary file).
Previous versions first deduced the resolution and fell back to testing (if the file system type was something other than NTFS, FAT, FAT32 and exFAT). However one person reported owning a NAS that was NTFS, but with the resolution of 1000 ns instead of default 100 ns.
This release changes the logic - the app now *tests* for resolution first and falls back to guessing.
Fixed truncation of file copying times in the log -- 32-bit version of the app had an incorrect printf() specifier in a couple of places, so it caused it to always show "0 seconds" when reporting the file copying time.
Also related - I have changed the display of time intervals in the UI to include secondary units. If previously it was showing "3 hours" for an actual interval of 3 hours, 27 minutes and 46 seconds, it will now show "3 hours 27 minutes". This should add a bit more clarity to the UI.