Skip to content

MCH v0.2.0

Choose a tag to compare

@Olize Olize released this 21 Oct 14:48
d56923e

Mighty Copy with Hash 0.2.0

MCH is a Rust CLI for integrity-checked copying and moving files and directory trees (default hash: BLAKE3).

What's new

  • Accessible, line-based live transfer progress, transfer speed, and estimated copy time (--progress auto|always|never).
  • Optional preservation of source access/modification times (--preserve-times).
  • Resumable, verified copying of a single regular file on Unix (--resume); verifies the existing partial prefix byte-by-byte and independently hashes full source and staged output. Not supported on Windows, directory trees, or multiple source files.
  • Improved --move protections against unexpected source changes, with destination syncs on Unix before deleting planned source files.
  • Hardened temporary file permissions, integrity reporting, tests, and documentation.

Verification

The final public commit was built and tested on Ubuntu, macOS, and Windows by GitHub Actions. Termux and Fedora vm01 tests passed, including actual SIGKILL/restart, corrupted partial refusal, concurrency locking, and verified moves.

Installation

Download the source archive below or clone this repository and run:

cargo build --release --locked

The executable is target/release/mch (mch.exe on Windows).

Safety limitations

MCH is not a transactional backup system. Verification may use the OS page cache and does not guarantee disk durability after sudden power loss. Concurrent hostile filesystem races, controller faults, and some metadata/ownership details are not covered. The README and specification explain further limitations; keep independent backups before using --move for important data.

This release contains GitHub's source archives; no precompiled binaries are attached.