956c2963fd
Before this change, bisync proactively converted modtime precision when greater than what the destination backend supported. This dates back to a time before bisync considered the modifyWindow for same-side comparisons. Back then, it was problematic to save a listing with 12:54:49.7 for a backend that can't handle that precision, as on the next run the backend would report the time as 12:54:50 and bisync would think the file had changed. So the truncation was a workaround to anticipate this and proactively record the time with the precision we expect to receive next time. However, this caused problems for backends (such as dropbox) that round instead of truncating as bisync expected. After this change, bisync preserves the original precision in the listing (without conversion), even when greater than what the backend supports, to avoid rounding error. On the next run, bisync will compare it to the rounded time reported by the backend, and if it's within the modifyWindow, it will treat them as equivalent. |
||
---|---|---|
.. | ||
bilib | ||
testdata | ||
bisync_debug_test.go | ||
bisync_test.go | ||
checkfn.go | ||
cmd.go | ||
compare.go | ||
deltas.go | ||
help.go | ||
LICENSE.cjnaz | ||
listing.go | ||
lockfile.go | ||
log.go | ||
march.go | ||
operations.go | ||
queue.go | ||
rc.go | ||
resolve.go | ||
resync.go |