Skip to content

pCloudSync-deconflict v1.1.0 - Interactive Conflict Resolution

Choose a tag to compare

@rcfa rcfa released this 24 Jul 22:47

pCloudSync-deconflict v1.1.0 πŸš€

Major update with interactive conflict resolution and comprehensive testing infrastructure!

✨ New Features

🎯 Interactive Conflict Resolution

  • --resolve flag: Interactively resolve conflicts with different content
  • Rich metadata display: Shows file sizes, modification times, and full paths
  • Colored diff display: Beautiful syntax-highlighted diffs for text files
  • Smart file detection: Automatically detects text vs binary files
  • File viewing: Open both files in default applications for comparison
  • Multiple actions: Keep original, keep conflicted, skip, or quit

πŸ” Enhanced Dry-Run Support

  • --resolve --dry-run: Preview all conflicts and available actions without making changes
  • Perfect for planning: See exactly what conflicts exist before resolving them
  • Combined workflows: Use --auto-delete --resolve --dry-run to preview complete workflow

πŸ§ͺ Comprehensive Testing Infrastructure

πŸ“ Test Data Suite

  • 17 different conflict scenarios covering all edge cases
  • Multi-level directory nesting (3 levels deep)
  • Unicode filenames: cafΓ©, ε’–ε•‘, emojis, special characters
  • Files with/without extensions: Complete coverage
  • Binary and text files: Different handling for each type
  • Edge cases: Empty files, large files (1000+ lines), orphaned conflicts

πŸƒβ€β™‚οΈ Automated Testing

  • run-tests.sh: Comprehensive test suite covering all major functionality
  • Safe testing: All tests run in --dry-run mode by default
  • Color-coded results: Clear pass/fail indication
  • JSON validation: Ensures output format integrity
  • Easy maintenance: test-data/create-test-files.sh to recreate test data

⚑ Performance & UX Improvements

🎨 Better User Experience

  • Smoother spinner animation: Updates every 0.125 seconds instead of per file
  • Enhanced progress display: More responsive and visually pleasing
  • Clearer workflows: Perfect separation between --auto-delete and --resolve
  • Better help text: More informative tips and guidance

πŸ”§ Technical Enhancements

  • Robust Unicode support: Handle international characters correctly
  • Smart MIME type detection: Better text file identification
  • Enhanced error handling: Graceful handling of edge cases
  • Improved file comparison: More efficient and accurate

πŸš€ Perfect Workflows

Basic Usage

# Preview all conflicts and actions
./pCloudSync-deconflict -r --resolve --dry-run /path/to/folder

# Auto-delete identical files, resolve conflicts interactively  
./pCloudSync-deconflict -r --auto-delete --resolve /path/to/folder

# Just clean up identical files automatically
./pCloudSync-deconflict -r --auto-delete /path/to/folder

Advanced Usage

# Test the new features safely
./run-tests.sh

# Scan specific subdirectories
./pCloudSync-deconflict test-data/unicode-files -r --resolve --dry-run

# Handle files without extensions
./pCloudSync-deconflict test-data/root-level --resolve

πŸ“Š What's Included

  • βœ… Universal macOS Binary: Works on Intel and Apple Silicon
  • βœ… Complete Test Suite: 17 different conflict scenarios
  • βœ… Documentation: Comprehensive usage examples and test descriptions
  • βœ… Unicode Support: International characters, emojis, special symbols
  • βœ… Files Without Extensions: Scripts, makefiles, configs
  • βœ… Multi-format Support: Text files (with diffs), binary files, JSON, etc.

πŸ”„ Migration from v1.0.0

All existing functionality is preserved and enhanced:

  • βœ… --auto-delete behavior unchanged for identical files
  • βœ… All command-line options remain the same
  • βœ… JSON output format is backward compatible
  • βœ… New --resolve flag is purely additive

🎯 Use Cases

This release is perfect for:

  • Daily pCloud cleanup: --auto-delete --resolve combination
  • Careful conflict review: --resolve --dry-run to preview first
  • Development workflows: Test suite ensures reliability
  • International users: Full Unicode filename support
  • Mixed file types: Text files get diffs, binary files get metadata

πŸ“ˆ Tested & Verified

  • βœ… 17 conflict scenarios with expected results
  • βœ… Unicode filenames (Chinese, Japanese, emojis, accents)
  • βœ… Large files (1000+ lines) for performance testing
  • βœ… Edge cases (empty files, orphaned conflicts)
  • βœ… Multi-platform (Intel and Apple Silicon macOS)
  • βœ… Real-world usage patterns and workflows

Download the universal binary below and start resolving conflicts interactively!

Full Changelog: v1.0.0...v1.1.0