Releases: yannickkirschen/ddir
3.1.2
3.1.1
This release finally fixes the st_mtime
comparison bug with the commit 25eada3 🥳. Here is an explanation of the bug:
ddir
uses shutil.copy2
to copy files and directories. This function tries to copy the metadata like timestamps as well. When copying data to an external storage device with a different file system, there is an issue with the accuracy of those timestamps:
To determine if a file is newer or older, ddir
uses the st_mtime
property, which is the UNIX timestamp as float. This float happens to be of a different accuracy depending on the storage device and file system. On all my internal devices (SSD and NVMe, APFS and ext4), the float has an accuracy of 6 decimal places, but on my external devices (SSD, exFAT) it only has an accuracy of 2 decimal places. This causes all comparisons to be not equal and thus a file is marked as modified though it isn't. This is why I implemented a sneaky comparison, that cuts of the overlapping decimal places without rounding them.
3.1.0
This release removed ceiling change timestamps before comparison (originally added in e3589f3 of release 2.0.2 and removed in fe91b17). It caused a lot of trouble ...
Since I finally set up a Linux workstation 🚀, I made some required changes to the VS Code settings in c8f5ab4. Oh, speaking of VS Code: just the source code is OSS - the binaries provided by our lovely friends at Microsoft aren't! So I highly recommend working with VSCodium, cause those binaries are open source and free of 💩
3.0.1
3.0.0
2.0.2
This release features a ton of bugfixes. To be honest, version 2.0.1 has so many bugs that it doesn't work at all, so this should be stable. Here is a list of the content:
- fix: use correct directory for init (c2e194a)
The init command used the wrong directory. - fix: remove old diff files after migration (9d1b647)
This fixes an error where old diff files where not deleted after migration. - fix: use shutil.copy2 (7f07936)
This fixes an error that caused file metadata not being copied. By the use of shutil.copy2 this is solved. - fix: ceil change timestamps before comparison (e3589f3)
This fixes an error that caused the program to identify diffs that weren't real diffs. By ceiling the timestamps before comparison and providing a buffer of one second, this is solved. - fix: syntax error (1a589c0)
This fixes an error in the str method of DiffType, by using the correct index notation. - chore: cleanup code (bb8429a)
- feat: pretty print target.json (d7df170)
Full Changelog: 2.0.1...2.0.2
2.0.1
This fixes an error of v2.0.0
that caused the application to fail during startup.
2.0.0
This release features an entire re-design of the API! You now can work with multiple targets and have easier access to diffs.
1.0.0
feat: initial commit