Skip to content

Releases: rcfa/pCloudSync-deconflict

v1.2.1 - Support for (conflicted) pattern

Choose a tag to compare

@rcfa rcfa released this 25 Jul 01:48

What's New

✨ Added support for (conflicted) pattern

  • The tool now detects and handles files with both [conflicted] and (conflicted) patterns
  • Some sync tools create conflicts with parentheses instead of square brackets
  • All features (scanning, comparing, auto-delete, and interactive resolution) work with both patterns

📦 Installation

Download the universal binary below (works on both Intel and Apple Silicon Macs).

# Download and make executable
curl -L -o pCloudSync-deconflict https://github.com/rcfa/pCloudSync-deconflict/releases/download/v1.2.1/pCloudSync-deconflict
chmod +x pCloudSync-deconflict

# Verify the version
./pCloudSync-deconflict --version

🔧 Changes

  • Updated conflict detection to recognize both [conflicted] and (conflicted) patterns
  • Enhanced test suite to cover both conflict patterns
  • Updated documentation to reflect the new capability

Full Changelog: v1.2.0...v1.2.1

v1.2.0: Multiple Directory Support

Choose a tag to compare

@rcfa rcfa released this 25 Jul 00:04

What's New in v1.2.0

✨ New Features

  • Multiple Directory Support: Process multiple directories in a single run
    • Example: ./pCloudSync-deconflict -r ~/Documents ~/Desktop ~/Downloads
    • Shows per-directory results when processing multiple paths
    • Maintains overall summary combining results from all directories

📋 Usage

# Process multiple directories
./pCloudSync-deconflict path1 path2 path3

# With options (order doesn't matter)
./pCloudSync-deconflict -r --auto-delete ~/Documents ~/Desktop
./pCloudSync-deconflict -r ~/Documents ~/Desktop --auto-delete

🔧 Improvements

  • Clear visual separation when processing multiple directories
  • Backward compatible - single path usage works exactly as before
  • Updated help documentation to reflect new usage

📦 Download

The universal binary below works on both Intel and Apple Silicon Macs.

Full Changelog: v1.1.1...v1.2.0

pCloudSync-deconflict v1.1.1 - Version Option

Choose a tag to compare

@rcfa rcfa released this 24 Jul 22:52

pCloudSync-deconflict v1.1.1 🏷️

Patch release adding standard version reporting capability.

🆕 What's New

📋 Version Option

  • --version flag: Display current version number
  • Standard CLI convention: Follows common command-line tool patterns
  • Help integration: Automatically appears in --help output
  • Consistent versioning: Version string now matches release tags

🚀 Usage

# Check version
./pCloudSync-deconflict --version
# Output: pCloudSync-deconflict 1.1.1

# Version also shown in help
./pCloudSync-deconflict --help
# Shows: usage: pCloudSync-deconflict.py [-h] [--version] [-r] ...

🔧 Technical Details

  • Version synchronization: Code version now matches release tags
  • Makefile consistency: Updated VERSION variable to 1.1.1
  • Standard behavior: Exits after showing version (argparse convention)
  • Universal binary: Same performance and compatibility as v1.1.0

📦 What's Included

  • Universal macOS Binary: Works on Intel and Apple Silicon
  • All v1.1.0 features: Interactive conflict resolution, test suite, etc.
  • Version reporting: New --version option for easy identification
  • Backward compatibility: No breaking changes from v1.1.0

🎯 Why This Update?

This small but important addition:

  • Improves usability: Users can easily check which version they're running
  • Aids troubleshooting: Essential for support and debugging
  • Follows standards: Aligns with CLI tool best practices
  • Future-proofs: Establishes consistent version reporting for future releases

🔄 Migration from v1.1.0

  • Drop-in replacement: No changes to existing functionality
  • Same commands: All existing options work identically
  • Same performance: Identical behavior with version reporting bonus

Download the universal binary below - now with proper version reporting!

Previous Release: v1.1.0 | Changelog: v1.1.0...v1.1.1

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

pCloudSync-deconflict v1.0.0

Choose a tag to compare

@rcfa rcfa released this 24 Jul 19:32

pCloudSync-deconflict v1.0.0

🎉 First stable release! pCloudSync-deconflict is a Python tool that finds and manages duplicate files created by pCloud sync conflicts.

✨ Key Features

  • 🔍 Smart Conflict Detection: Automatically finds files with " [conflicted]" in their names
  • ⚡ Fast File Comparison: Uses SHA256 hash comparison with size optimization
  • 📊 Real-time Progress: Live progress indicator for large directory scans
  • 🔄 Persistent Tracking: JSON-based conflict tracking across multiple runs
  • 🌐 Unicode Support: Handles all international characters in filenames
  • ☁️ Cloud Storage Aware: Intelligently excludes cloud storage directories
  • 🖥️ Multiple Modes: Interactive, auto-delete, and dry-run options

🚀 Installation

Option 1: Download and Run

# Download the universal binary
curl -L -o pCloudSync-deconflict https://github.com/rcfa/pCloudSync-deconflict/releases/download/v1.0.0/pCloudSync-deconflict
chmod +x pCloudSync-deconflict
./pCloudSync-deconflict --help

Option 2: System Installation

# Download, build from source, and install system-wide
git clone https://github.com/rcfa/pCloudSync-deconflict.git
cd pCloudSync-deconflict
make install

📖 Usage Examples

# Basic scan with confirmations
./pCloudSync-deconflict -r /path/to/folder

# Auto-delete identical conflicted files
./pCloudSync-deconflict -r --auto-delete /path/to/folder  

# Preview what would be deleted (dry run)
./pCloudSync-deconflict -r --dry-run /path/to/folder

# Scan external drives while excluding cloud storage
./pCloudSync-deconflict -r --include-local-mounts ~/

🔧 What's New in v1.0.0

This release represents months of development and testing, making the tool production-ready:

  • Feature Complete: All core functionality implemented and tested
  • Production Ready: Handles edge cases, errors, and large datasets
  • Universal Binary: Single executable works on all macOS systems
  • Smart Installation: Easy system-wide installation with make install
  • GitHub Actions: Automated code review and testing workflows
  • Comprehensive Documentation: Detailed usage examples and technical notes

🛠️ Technical Highlights

  • Efficient directory traversal using os.walk()
  • Dynamic terminal width detection for progress display
  • Graceful handling of permission errors and protected directories
  • Optimized file comparison (skips hash if sizes differ)
  • Robust Unicode support for international filenames
  • Smart cloud storage detection (FUSE, Dropbox, iCloud, etc.)

📊 Tested On

  • ✅ Large directories (millions of files)
  • ✅ Unicode filenames (Chinese, Japanese, emoji, etc.)
  • ✅ Various macOS versions (Intel and Apple Silicon)
  • ✅ Different filesystem types (APFS, HFS+, ExFAT)
  • ✅ Cloud storage integrations (pCloud, Dropbox, iCloud)

Full Changelog: https://github.com/rcfa/pCloudSync-deconflict/commits/v1.0.0