Releases: rcfa/pCloudSync-deconflict
Release list
v1.2.1 - Support for (conflicted) pattern
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
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
- Example:
📋 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
pCloudSync-deconflict v1.1.1 🏷️
Patch release adding standard version reporting capability.
🆕 What's New
📋 Version Option
--versionflag: Display current version number- Standard CLI convention: Follows common command-line tool patterns
- Help integration: Automatically appears in
--helpoutput - 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
--versionoption 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
pCloudSync-deconflict v1.1.0 🚀
Major update with interactive conflict resolution and comprehensive testing infrastructure!
✨ New Features
🎯 Interactive Conflict Resolution
--resolveflag: 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-runto 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-runmode by default - Color-coded results: Clear pass/fail indication
- JSON validation: Ensures output format integrity
- Easy maintenance:
test-data/create-test-files.shto 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-deleteand--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/folderAdvanced 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-deletebehavior unchanged for identical files - ✅ All command-line options remain the same
- ✅ JSON output format is backward compatible
- ✅ New
--resolveflag is purely additive
🎯 Use Cases
This release is perfect for:
- Daily pCloud cleanup:
--auto-delete --resolvecombination - Careful conflict review:
--resolve --dry-runto 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
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 --helpOption 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