Metadata-Version: 2.4
Name: reverberator
Version: 0.36
Summary: A inotify based tool to create REVERBs (REcursive VERsioning Backup) using symlinks
Author-email: Yufei Pan <pan@zopyr.us>
License-Expression: GPL-3.0-or-later
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: inotify-simple>=1.3.5
Requires-Dist: multicmd>=1.51
Requires-Dist: tee-logger>=6.34
Requires-Dist: tsvz>=3.25
Requires-Dist: xxhash>=3.5.0
Provides-Extra: test
Requires-Dist: pytest>=7; extra == "test"

Design decision:
	When reverberator is in cold start, will not calculate hash to do space efficient move operations to vault.
	When restarting reverberator, will do one backup that will only handle create, modify, delete, attrib.
	The latest version's entries, with the size, mtime, mode, owner and tail hash of what the vault holds for each, are kept in .reverberator_manifest.sqlite in the job vault. Restarts compare the monitored tree against it, and read the vault only for entries it has no record of, and once for each file copied since the previous restart.
	Change events waiting for a backup are kept compressed, events the backup would skip anyway are dropped as the queue grows, and the queue becomes one full scan only when memory runs short (stalls on memory, little available, or the queue holding a quarter of what is available).
