The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
syncdr 0.1.2
Security and robustness
improvements
This release improves input validation, path handling, and error
recovery across synchronization functions following an internal review.
No new user-facing features are added.
Path handling improvements
- Improved internal path normalization and relative path computation
to ensure consistent behavior across platforms and working
directories.
- Reduced risk of incorrect path resolution when directory names
contain special characters.
- Added stricter validation for directory inputs to ensure they are
valid, existing directories.
- Prevented use of identical or nested directories in synchronization
operations.
- Added validation to ensure sync status objects are of the expected
class.
- Added validation to prevent backup directories from overlapping with
synchronization targets.
Backup and recovery
improvements
- Centralized backup handling to improve consistency across
synchronization functions.
- Improved verification of backup completion before modifications
proceed.
- Enhanced backup directory naming to avoid overwriting previous
backups.
- Added warning when temporary directories are used for backups.
Error handling improvements
- Improved handling of file permission issues with early checks before
file operations.
- Enhanced resilience to individual file copy or deletion
failures.
- Improved handling of files that change during synchronization.
Staleness detection
- Added timestamp tracking to synchronization status objects.
- Added warning when synchronization results may be outdated
(configurable via
options(syncdr.staleness_threshold_secs)).
API changes
- Default value of
force changed from TRUE
to FALSE in all sync functions.
- Default value of
delete_in_right changed from
TRUE to FALSE.
overwrite is now an explicit user-controllable argument
(default TRUE).
Documentation
- Improved documentation of synchronization parameters.
- Added package-level note on concurrency limitations and recommended
use of file locking packages.
syncdr 0.1.0
Initial CRAN release.
Directory comparison
- Added
compare_directories() to compare two directories
by modification date, file content, or date-then-content.
- Detects newer/older/same-date files as well as files present only in
one directory.
- Added
print.syncdr_status() for formatted summaries of
comparison results.
Visualization
- Added
display_sync_status() for interactive
visualization of comparison output.
- Added
display_dir_tree() to show directory trees for
one or two paths.
Asymmetric
synchronization (left → right)
- Added
full_asym_sync_to_right() for complete one-way
synchronization.
- Added partial sync helpers:
common_files_asym_sync_to_right()
update_missing_files_asym_to_right()
partial_update_missing_files_asym_to_right()
Symmetric synchronization
- Added
full_symmetric_sync() for two-way synchronization
with conflict handling.
- Added
partial_symmetric_sync_common_files() for partial
symmetric updates.
Utilities
- Added
toy_dirs() to create reproducible example
directory structures.
- Added
copy_temp_environment() for safe testing of
directory operations.
- Added
search_duplicates() for content-based duplicate
detection.
- Added
save_sync_status() to persist comparison
results.
Documentation and tests
- Added introductory and workflow vignettes.
- Added unit tests covering comparison logic, synchronization
functions, directory-tree display, and duplicate detection.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.