Project ended. Early commits can be used as source for refactoring exercises.
Reboot in OneWaySyncV2 repo.
C# project for one-way synchronization from source directory to destination directory, running in predefined cycles.
Usage:
OneWaySync.exe "C:\_test\A" "C:\_test\B" 30 "C:\_test.log.txt"
program accepts 4 parameters as input from CLI arguments
1- source path – must exist, can’t be in destination path.
2- destination path – don’t need to exist, there will be one attempt to create it. Can’t be in source path.
3- cycle period for next sync check, in seconds. Min = 1, Max = 99999.
4- log path for storing info generated by the program.
Implemented to meet provided requirements.
Things to improve/consider and raw estimates:
Performance optimization – 1-2 days
Use async – 2-4 days (need refresh whole topic)
Synchronizer refactoring – 1 day
Help info update in code – 2-4h
Help using named parameters instead of position prams. - 4h
Unit testing – in current implementation unit tests doesn’t make sense
Integration testing - ? 1-2 days, need research.
Tested:
Windows – Basic scenarios
Linux – system for testing not available. Raw estimate for setup and testing – 4h.
Mac OS – system for testing not available.
Features:
Checks if source and destination paths are available for reading.
Checks if destination path is available for writing and deleting.
Creates missing sub directories.
Copies new or updated files.
Deletes files/directories in destination that no longer exist in source.
Verifies file integrity using MD5.
Errors are logged into console and file.
MBMor/OneWaySync
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|