Repository navigation
v0.3.0 - Two-Phased Interactive Sync
π Release v0.3.0
This release introduces the Two-Phased Interactive Sync feature along with comprehensive improvements to the sync-tools ecosystem.
β¨ Major Features
Two-Phased Interactive Sync
- Plan Generation: Generate editable sync plans before execution
- Visual Aliases: Intuitive direction indicators (
<<,>>,<>) - Plan Execution: Execute plans with full control over operations
- Conflict Detection: Automatic detection and resolution strategies
Enhanced Sync Capabilities
- Merge Tool Integration: External merge tool support for conflict resolution
- Markdown Reports: Generate detailed sync operation reports
- Git Patch Generation: Create git patches instead of direct synchronization
sync fromCommand: New convenience subcommand for quick syncs
π Improvements
Testing & Quality
- 100% BDD Coverage: All 41 scenarios passing with 261 steps
- Test Architecture: Implemented Test Driver and Object Mother patterns
- @wip Tag Support: Filter work-in-progress test scenarios
- Comprehensive Validation: Enhanced test validation and error handling
Conflict Resolution
- Multiple Strategies: newest-wins, source-wins, dest-wins, backup
- Binary File Handling: Automatic detection and appropriate resolution
- Detailed Logging: Enhanced conflict resolution logging
π Bug Fixes
- Fixed critical dry-run mode to prevent unintended file operations
- Fixed git patch file path resolution in BDD tests
- Fixed SyncFile path resolution and git protection issues
- Fixed rsync output parsing for accurate plan generation
- Improved .gitignore to prevent test artifacts in working tree
π Statistics
- Changed Files: 20
- Lines Added: 5,306
- Lines Removed: 251
- Test Coverage: 100% BDD step definitions
π§ Technical Details
Plan File Format
<< file src/main.js 17B 2025-08-30T10:35:00 [new-in-source]
>> file config/db.yml 15B 2025-08-30T10:00:00 [new-in-dest]
<> file config/app.yml 13B 2025-08-30T10:30:00 [conflict]
Usage Examples
# Generate a sync plan
sync-tools sync --source ./src --dest ./dest --plan sync.plan
# Execute a sync plan
sync-tools sync --apply-plan sync.plan
# Generate markdown report
sync-tools sync --source ./src --dest ./dest --report changes.md
# Create git patch
sync-tools sync --source ./src --dest ./dest --patch changes.patchπ Full Changelog
- 0270e45 Fix BDD test failures and enhance two-phased interactive sync (#15)
- 1e68394 feat: Two-phased interactive sync with merge tool integration (#14)
- b114631 feat: update release workflow for Go implementation
- 84e447c Fix BDD tests for Go implementation (#13)
π Acknowledgments
Thanks to all contributors who made this release possible!
Full Documentation: https://damianreeves.github.io/sync-tools/
Report Issues: https://github.com/DamianReeves/sync-tools/issues