Ddir

Latest version: v3.1.2

Safety actively analyzes 682387 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

3.1.2

This release fixes a bug that caused directories to be not created and fail (b8709fda8fb7240df57b01d76f24dae82e84f1fa). This was because recursion has not been implemented and thus `shutil.copytree` with `shutil.copy2` as copy functions is now being used.

3.1.1

This release finally fixes the `st_mtime` comparison bug with the commit 25eada3b0f1819ec8fdb9e0c2324e2c2f59a2272 :partying_face:. 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 e3589f3f52a0ab8b364e8c85832c2e1933e7c126 of release [2.0.2](https://github.com/yannickkirschen/ddir/releases/tag/2.0.2) and removed in fe91b1762b5b641ab200bb471a6b9898abbd8502). It caused a lot of trouble ...

Since I finally set up a Linux workstation :rocket:, I made some required changes to the VS Code settings in c8f5ab43bb6506b5316ab5bc44d20b3cb873a540. 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](https://vscodium.com), cause those binaries are open source and free of :hankey:

3.0.1

On macOS there is a bug that the installation via pip is not possible when having Python installed via Homebrew. So you need to use a venv and that must be ignored by `ddir`. That's what I've fixed in this commit: c3e915d.

3.0.0

This release finally features the target -> source copy mechanism! Its most important commit is e8dd43c. So, if a file of the target is newer than that of the source, you can now override it.

I also did some annoying CI version bumps in 198c60d.

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 (c2e194ad4d6341aaab5ce3aa901b171cbbb0f0da)
The init command used the wrong directory.
- fix: remove old diff files after migration (9d1b64719cca4b5f26926e5b30b5cc326d810155)
This fixes an error where old diff files where not deleted after migration.
- fix: use shutil.copy2 (7f07936b0019302d69cbdbc1d97d6dffb55e2422)
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 (e3589f3f52a0ab8b364e8c85832c2e1933e7c126)
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 (1a589c05977aeb937838f61a15b580ae6453d28e)
This fixes an error in the __str__ method of DiffType, by using the correct index notation.
- chore: cleanup code (bb8429a406e92b109698567d0d72c3d635710fd7)
- feat: pretty print target.json (d7df170d4f9f5d3f0413cbe61b2189330cbf4768)

**Full Changelog**: https://github.com/yannickkirschen/ddir/compare/2.0.1...2.0.2

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.