Features
Current capabilities from the latest RCompare workspace
Core Engine
Blazing Fast Performance
Rust core tuned for large trees and repeated comparisons.
- Parallel directory traversal
- Persistent hash cache
- Parallel hash computation for batches
- Optional hash verification controls
Flexible Comparison Controls
Tune the comparison behavior for your workflow and data shape.
- Gitignore pattern support
- Custom ignore patterns
- Columns mode and status filters
- Follow-symlink toggle
- Diff-only and hide-* output filters
VFS, Archives, and Remote
Unified source abstraction for local, archive, and remote comparisons.
- ZIP, TAR, TAR.GZ, TGZ, and 7Z
- RAR read-only support
- S3/S3-compatible endpoints
- WebDAV and SFTP backends
- Archive-aware file access commands
Specialized Diff Modes
Use file-type specific engines when generic byte comparison is not enough.
Text Comparison
Rule-based text normalization and line-level diffing.
--text-diffmode- Whitespace modes: all/leading/trailing/changes
- Case-insensitive comparison option
- Regex rule pipeline for normalization
Image Comparison
Pixel-level comparison with optional metadata awareness.
--image-diffmode- Pixel tolerance control
- Optional EXIF comparison
- Side-aware reporting in CLI and GUI workflows
Structured Data Formats
Schema-aware and structure-aware comparison for analytics workloads.
- CSV row/column analysis
- Excel sheet/cell comparison
- JSON and YAML path-based diff
- Parquet schema and row-level checks
Binary and Hex Views
Byte-level inspection paths for opaque file formats.
- Hex-friendly compare workflows
- Binary mismatch ranges in diff-file mode
- Large-file aware output limits
- Useful for firmware and artifact validation
Interfaces and Integrations
Pick the surface that fits your users and deployment environment.
CLI (`rcompare_cli`)
- Subcommands:
scan,sync,copy,diff-file,read - Machine-friendly JSON output
- Scripting-ready behavior for CI pipelines
Slint GUI (`rcompare_gui`)
- Native Rust desktop frontend
- Folder, text, image, and hex workflows
- Copy-oriented reconciliation actions
PySide6 GUI (`rcompare_pyside`)
- Multi-session tabs and persistent profiles
- Session-aware compare and sync dialogs
- Desktop workflow parity with power-user tools
C FFI (`rcompare_ffi`)
- libkomparediff2-compatible C API
- Patch parse/apply/unapply/serialize operations
- Static library artifacts for C/C++ integration
CLI Status Symbols
Interpret scan results quickly in terminal and reports.
| Symbol | Meaning |
|---|---|
== |
Files are identical |
!= |
Files are different |
<< |
File exists only on the left side |
>> |
File exists only on the right side |
?? |
Same size but not hash-verified |
Quick CLI Examples
# Full directory scan
rcompare_cli scan /left /right --diff-only
# Planned synchronization (dry run)
rcompare_cli sync /left /right --direction bidirectional --dry-run --json
# Diff one file path with text options
rcompare_cli diff-file /left /right --path config/app.yaml --mode yaml --json
# Copy selected paths from left to right
rcompare_cli copy /left /right --direction left_to_right --path src/main.rs --path Cargo.toml
Ready to Get Started?
Download the latest binaries or build from source to use the full workspace.