https://github.com/anmol-singh-jaggi/directsync
:file_folder: :arrows_counterclockwise: :watch: An efficient and easy-to-use utility to compare/synchronize/mirror folder contents.
https://github.com/anmol-singh-jaggi/directsync
backup clone diff directory file mirroring synchronization
Last synced: 2 months ago
JSON representation
:file_folder: :arrows_counterclockwise: :watch: An efficient and easy-to-use utility to compare/synchronize/mirror folder contents.
- Host: GitHub
- URL: https://github.com/anmol-singh-jaggi/directsync
- Owner: Anmol-Singh-Jaggi
- License: mit
- Created: 2019-03-13T03:55:18.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-11-14T10:47:12.000Z (over 4 years ago)
- Last Synced: 2025-04-14T10:06:02.800Z (2 months ago)
- Topics: backup, clone, diff, directory, file, mirroring, synchronization
- Language: Python
- Homepage: https://pypi.org/project/directsync/
- Size: 1.01 MB
- Stars: 8
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DirectSync
[](https://badge.fury.io/py/directsync)

[](https://saythanks.io/to/Anmol-Singh-Jaggi)
A simple and ***fast*** utility to compare/synchronize/mirror folder contents, completely free and open-source*TM*!
**Demo**

**Usage:**
directsync [-h] [-add] [-rm] [-ovr] [-mirr] [-trash] [-cache]
[-latest] [-dry] [-no-bar]
src-path dst-pathpositional arguments:
src-path The path of the source directory.
dst-path The path of the destination directory.optional arguments:
-h, --help show this help message and exit
-add, --add-missing Copy files from source which are absent in
destination.
-rm, --remove-extra Remove the files from destination which are absent in
source.
-ovr, --overwrite-content
Overwrite the files having same name but different
content.
-mirr, --mirror-contents
Make the destination directory exactly same as the
source. Shorthand for `-add -rm -ovr`.
-trash, --use-trash Send to trash/recycle bin while deleting/overwriting.
-cache, --use-cache Whether to use previously cached comparison-check
result from disk.
-latest, --preserve-latest
Whether to use the last modified time while
comparing files with different content.
-dry, --dry-run Just simulate and report the file operations that will
be performed with the current configuration.
-no-bar, --hide-progress-bar
Whether to hide the progress bar or not. Will result
in a huge speedup iff the 2 directories are structured
very differently.**Installation:**
- Install Python 3 (>=3.5)
- `pip install directsync`**ToDo:**
- Give more fine-tuned control of file comparison algorithm to the user.
- Add `ignore-pattern` option to let the user ignore certain files based on the regex pattern provided.
- Add test cases.
- Add code coverage.
- Setup `tox` and `Travis CI`.
- Add coloured output.
- Handle nested structures with symlinks.
- Provide direct interface with online storage services.
- Add developer guidelines.
- Explore parallel processing.
- Add benchmarks.
- ~~Add demo.~~
- ~~Add `simulate` option.~~
- ~~Add `use-trash` option to send to recycle bin instead of delete/overwrite.~~
- ~~Add `cache` option to cache the results of the previous difference check to disk.~~
- ~~Add `preserve-latest` option: Among the 2 files, the one with the latest modification date should be preserved.~~